# 下载安装
# 第一步:在 hub.docker.com 上搜索 mysql 镜像
# 第二步:拉取指定版本的 mysql
也可以指定拉取版本,例如:
| sudo docker pull mysql:8.0.23 |
# 第三步:检查 mysql 镜像
# 第四步:启动运行 mysql 镜像 (docker run 用于启动一个容器)
| sudo docker run -p 3306:3306 --name mysql \ |
| -v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \ |
| -v /usr/local/docker/mysql/conf:/etc/mysql \ |
| -v /usr/local/docker/mysql/logs:/var/log/mysql \ |
| -v /usr/local/docker/mysql/data:/var/lib/mysql \ |
| -e MYSQL_ROOT_PASSWORD=root \ |
| -d mysql:8.0.23 |
假如安装过程中失败了,则可通过 docker ps -a 查看以前的容器,假如已存在,则通过 docker rm 镜像 id 删除再重新安装即可。
# 第五步:停止 mysql 服务(可选)
执行完第四个步骤(启动运行 mysql 镜像),mysql 就会自动启动了,假如需要停止这个
服务可以执行:
# 第六步:启动 mysql 服务
假如 mysql 服务没有启动运行,但是 mysql 容器是存在的,可以通过如下方式启动 mysql。
假如希望查看 mysql 启动时的日志,可以执行 docker container logs mysql 这个指令。
# 第七步:查看 docker 启动的服务
# 第八步:进入容器 (退出容器用 exit)
| sudo docker exec -it mysql bash |
# 第九步:登陆 (默认密码 root),一定要先进入 mysql 容器。
# 第十步:设置 mysql 开机自启动(可选)
| docker update mysql --restart=always |
如何重启 mysql 服务?
查看 MySQL 安装到哪了?
连接 MySQL 时要注意
第一步:关闭 linux 宿主机的防火墙 (假如直击连接), 命令忘了可以通过搜索引擎查。
| sudo systemctl stop firewalld.service |
第二步:重启 docker
| sudo systemctl restart docker |
第三步:启动 mysql
# Navacat 连接 MySQL
连接 mysql 如果遇到以下问题可以这样解决
问题描述:
| 1251-client does not support authentication protocol requesred by server;consider upgrading MySQL Client |
解决办法:
# (1)mysql 容器内部
| sudo docker exec -it mysql bash |
# (2)进入 mysql
输入密码 root
# (3)使用 mysql 数据库
# (4)查看用户信息
| select host,user,plugin,authentication_string from mysql.user; |
备注:host 为 % 表示不限制 ip localhost 表示本机使用 plugin 非 mysql_native_password 则需要修改密码
# (5)修改用户密码
| ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; |
# (6)更新 user 为 root,host 为 % 的密码为 123456
| ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; |
更新 user 为 root,host 为 localhost 的密码为 123456
# (7)再次连接即可成功!