1. 查看可用的 MySQL 版本
我们可以用 docker search mysql 命令来查看可用版本
docker search mysql
2. 拉取 MySQL 镜像
docker pull mysql:latest # 拉取最新版本镜像
docker pull mysql:版本号 # 拉取指定版本镜像
3. 查看本地镜像
docker images
4. 运行容器
安装完成后,我们可以使用以下命令来运行 mysql 容器
docker run -itd --name my-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
参数说明:
-
--name my-mysql
:容器自定义名称 -
-p 3306:3306
:映射容器服务的 3306 端口到宿主机的 3306 端口。外部可以直接通过宿主机ip:3306 访问到 MySQL 的服务。 -
MYSQL_ROOT_PASSWORD=123456
:设置密码
5. 安装成功
最后我们可以通过 docker ps 命令查看容器的运行信息
本机可以通过 root 和密码 123456 访问 MySQL 服务。
docker exec -it my-mysql /bin/bash
mysql -h localhost -u root -p
6. 问题
mysql 最新版本的密码加密方式默认为caching_sha2_password
(老版本的为mysql_native_password
),这会导致navicat等数据库工具可能连接不上,我们只需要把密码加密方式修改为mysql_native_password
就可以了。
# 查看密码加密方式
select Host,User,plugin from mysql.user;
# 修改加密方式
alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;