1.获取mysql镜像
从docker hub的仓库中拉去mysql镜像
docker pull mysql:8.0.22
2.运行一个mysql容器
docker run -d -p 3306:3306 --name mysql -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.22
//创建容器时,最后mysql:8.0.22表示mysql镜像的版本,可以写,表示指定该版本;如果不写也可以,docker会自动在本地检测有没有最新的,如果没有会自动去docker hub上去下载
上述命令各个参数的含义:
run 运行一个docker容器
--name 后边这个是生成的容器的名字
-p 3306:3306 表示这个容器中使用3306(第二个)映射到本机的端口号也是3306(第一个)
-e MYSQL_ROOT_PASSWORD=123456 初始化root用户的密码
-d 表示使用守护进程运行,即服务挂载后台运行
-v 使用主机目录和容器目录映射来完成数据的持久化
查看当前docker容器的运行状态:
docker ps : 查看运行中的容器
3.修改“root”账户的认证模式和密码
MySQL新版本的“caching_sha2_password”授权认证模式的问题,我们将其改回“mysql_native_password”授权模式即可。
步骤:
1)进入MySQL容器,使用MySQL命令行工具连接MySQL
docker exec -it mysql /bin/bash
2)修改“root”账户的认证模式
3)使用外部工具验证连接