本文主要介绍使用 Docker 启动 MySQL 服务的最佳实践,Docker 镜像来自docker 官方镜像启动一个 MySql 5.7 实例
关于版本的选择,修改镜像 tag 即可,支持的 tag 在docker hub 仓库有说明。docker run --name mysql5.7 --restart always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345 \
-v /home/vagrant/mysql5.7/data:/var/lib/mysql -d mysql:5.7
参数说明
--name mysql5.7: 指定运行容器名称
--restart always: 容器意外退出后自动重启
-p 3306:3306: 映射主机 3306 端口到容器 3306 端口
-e MYSQL_ROOT_PASSWORD=12345: 指定 msyql root 密码,该参数是为必须的
-v /home/vagrant/mysql5.7/data:/var/lib/mysql: mysql 数据持久化,主机 /home/vagrant/mysql5.7/data 目录挂载到容器 /var/lib/mysql 目录
2 .在虚拟机外面通过客户端访问docker安装的mysql ,连接失败
(1)进入镜像中的mysql(ti 后面的字符串是mysql镜像ID)
docker exec -ti 2cbb0f246353 /bin/bash
(2)登录mysql
mysql -u root -p
(3)修改root 可以通过任何客户端连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';