MySQL Docker镜像安装(CentOS7版)
前置条件:安装Docker(可参考)
1.Pull Mysql镜像:
去Docker Hub官网找需要的MySQL版本,本文以5.7.29
版本为例
docker pull mysql:5.7.29
[root@lee000 ~]# docker pull mysql:5.7.29
5.7.29: Pulling from library/mysql
68ced04f60ab: Pull complete
f9748e016a5c: Pull complete
da54b038fed1: Pull complete
6895ec5eb2c0: Pull complete
111ba0647b87: Pull complete
c1dce60f2f1a: Pull complete
702ec598d0af: Pull complete
63cca87a5d4d: Pull complete
ec05b7b1c5c7: Pull complete
834b1d9f49b0: Pull complete
8ded6a30c87c: Pull complete
Digest: sha256:f4a5f5be3d94b4f4d3aef00fbc276ce7c08e62f2e1f28867d930deb73a314c58
Status: Downloaded newer image for mysql:5.7.29
docker.io/library/mysql:5.7.29
pull速度慢可参考:https://blog.csdn.net/yuxielea/article/details/104930177
如果不指定版本号,则将pull最新mysql镜像
2.Run Mysql镜像:
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --restart=always --privileged=true -d mysql:5.7.29 --default-time_zone='+8:00'
--name:
指定容器名字-p:
指定容器暴露的端口-e:
指定容器中环境变量-d:
前台或后台运行,默认为false,后台运行default-time_zone :
时区加8小时,因为默认的UTC时间和我国的CST时间相差8小时(可以通过timedatectl命令查看)
查看镜像启动情况:
docker ps -a
3.客户端连接使用
镜像启动后客户端正常连接即可。但实际操作中可能有连接不上的情况,一般是以下几种原因造成(参考):
3.1 授权
MySQL默认只对本机开放连接,当需要别的主机连接数据库时则需要赋予其它主机访问数据库的权限。
开放远程连接给所有主机("%"
表示所有,”123456”为我设置的MySQL密码,需自行替换):
1)进入docker镜像bash:
docker exec -it mysql bash
2)登录mysql:
mysql -uroot -p123456
3)修改root权限:
MySQL5.X:
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
MySQL8.X:
alter user 'root'@'%' identified with mysql_native_password by '123456';
修改完后可以到mysql数据库中的user表查看是否执行成功:
select host, user, plugin from user;
4)更改完后刷新权限:
flush privileges;
还没有评论,来说两句吧...