CentOS7利用docker装置MySQL5.7

前提条件

centos7 且内核版本高于3.10, 可通过以下命令查看内核版本

uname -r

利用yum 装置docker

装置一些必要的零碎工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2


增加软件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


更新 yum 缓存:

sudo yum makecache fast


装置 Docker-ce:

sudo yum -y install docker-ce


启动 Docker 后盾服务:

sudo systemctl start docker

docker 装置MySQL

查找MySQL镜像:

docker search mysql


拉起MySQL镜像(:5.7 示意5.7版本)

docker pull mysql:5.7


运行MySQL容器

docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

参数阐明:

  • run run 是运行一个容器
  • -d  示意后盾运行
  • -p  示意容器外部端口和服务器端口映射关联
  • --privileged=true 设值MySQL 的root用户权限, 否则内部不能应用root用户登陆
  • -v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
  • -v /docker/mysql/data:/var/lib/mysql  同上,映射数据库的数据目录, 防止当前docker删除从新运行MySQL容器时数据失落
  • -e MYSQL\_ROOT\_PASSWORD=123456   设置MySQL数据库root用户的明码
  • --name mysql     设值容器名称为mysql
  • mysql:5.7  示意从docker镜像mysql:5.7中启动一个容器
  • --character-set-server=utf8mb4 --collation-server=utf8mb4\_general\_ci 设值数据库默认编码

新建MySQL用户

先进入容器

docker exec -it mysql bash

执行MySQL命令, 输出root明码, 连贯MySQL

mysql -uroot -p

输出明码后, 执行上面命令创立新用户 (用户名: test , 明码: test123)

GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'test123' WITH GRANT OPTION;

阿里云的话近程拜访记得防火墙开 3306 端口 !!!!

关注公众号:java宝典