Docker安装MySQL5.7

docker pull mysql:5.7

拉取MySQL5.7镜像

 

 

docker images

查看本地的镜像

 

 

docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=Abcdef@123456 -d mysql:5.7
先让容器在后台运行,并取个别名为mysql5.7,此时还没有修改配置文件

 

 

docker ps

查看正在运行的容器

 

 

docker exec mysql5.7 ls /etc/mysql

查看容器内部的配置文件

 

 

docker exec -it mysql5.7 /bin/bash

进入容器终端

mysql -uroot -p

进入mysql终端,并输入密码

grant all privileges on *.* to root@'%' identified by 'Abcdef@123456';

赋予root账号远程访问权限

flush privileges;

刷新权限

quit;

退出mysql终端

exit

退出容器终端

 

mkdir -p /root/mysql5.7/conf

在宿主机创建配置文件目录

docker cp -a mysql5.7:/etc/mysql/ /root/mysql5.7/conf

复制容器内部的配置文件到宿主机

mkdir /root/mysql5.7/data

在宿主机创建数据目录

chmod -R 777 /root/mysql5.7

赋予宿主机/root/mysql5.7目录最高读写权限

 

docker rm -f mysql5.7

删除mysql5.7容器,-f参数是强制删除运行中的容器

 

 

docker run --restart=always -p 3306:3306 --name mysql5.7 -v /root/mysql5.7/conf:/etc/mysql -v /root/mysql5.7/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Abcdef@123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

重新运行容器,映射端口,并挂载配置文件、数据文件,设置账号密码,并设置编码方式为UTF-8

 

 

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

开放宿主机防火墙3306端口

 

 

 

posted @ 2019-11-24 22:20  此生不换Yang  阅读(2129)  评论(1编辑  收藏  举报