Docker 安装mysql
步骤
- 下载MySQL镜像
- 创建运行容器
第一步,拉取MySQL镜像
$ sudo docker pull mysql
docker会自动拉取(下载)MySQL镜像
第二步,创建并启动一个MySQL容器
输入以下命令:
$ sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
命令中:
pwc-mysql 指的是 容器名称。
3306:3306 第一个3306是指docker所在系统的端口,第二个3306端口是docker容器里面的端口。
简单来说,如果换成了 13306:3360,你远程连接mysql访问的是linux系统ip的13306端口。
123465 指的是mysql的root用户的密码为123456
–name:给新创建的容器命名,此处命名为pwc-mysql
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,此处映射主机3306端口到容器pwc-mysql的3306端口
-d:成功启动容器后输出容器的完整ID,例如上图 73f8811f669ee...
最后一个mysql指的是mysql镜像名字
到这里我们查看容器运行状态:
$ sudo docker ps
上图可以看到容器的简写ID,容器的源镜像,创建时间,状态,端口映射信息,容器名字等。
第三步,测试连接MySQL
这里我使用navicat远程连接,连接MySQL前需要防火墙开放端口或者关闭防火墙。
开放端口:
$ sudo firewall-cmd --add-port=3306/tcp
关闭防火墙:
$ sudo systemctl stop firewalld
注意
如果mysql服务设置远程连接 解决1251 client does not support …问题
-
输入命令
docker exec -it e1066fe2db35 /bin/bash
(e1066fe2db35为容器id) -
进入docker容器里面,输入命令
mysql -u root -p
输入root 密码 进入mysql命令界面
-
输入命令
mysql> select host,user,plugin,authentication_string from mysql.user;
查看权限
-
输入命令
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
修改权限 -
重新使用navicat连接
其他问题:
解决时区慢8小时,run命令加上-e TZ=Asia/Shanghai
相关资料链接:
http://tieba.baidu.com/p/4535396784?traceid=
https://www.cnblogs.com/wicub/p/6924018.html
https://blog.csdn.net/chengxuyuanyonghu/article/details/54581988
https://blog.csdn.net/zhanglu_1024/article/details/78954508
转载链接
docker 安装mysql : https://www.cnblogs.com/pwc1996/p/5425234.html
docker 远程连接mysql: https://www.2cto.com/kf/201808/767749.html