环境
Centos 7、MySQL 8、SQLyog 12
需求
在Docker中部署MySQL 8
步骤
1、从docker仓库中拉去mysql 8.0
docker pull mysql:8.0
如果使用 docker pull mysql 默认拉取的是最新版本的mysql
上面我拉去的是8.0的版本,最后拉取过来的是8.0.27
如果有想要指定的版本,可以直接写指定版本,如:
docker pull mysql:8.0.23
2、查看是否拉取成功
docker images mysql:8.0
3、安装运行mysql8.0容器
docker run -p 3307:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
-p 将本地主机的端口映射到docker容器端口
本机的3306端口已被宿主机的mysql占用,所以使用3307。
也可以使用3306,就不可以和宿主机的mysql同时启动了。
这里使用什么端口映射可以自己决定,但是不要和我们使用的其他端口重复。
--name 容器名称
-e 配置信息,配置root密码,等号后面跟的是密码,可以自己设置自己想要的密码
-d 镜像名称
4、查看mysql 8.0 容器是否运行
docker ps
5、docker登录mysql 8.0
docker exec -it mysql8.0 bash
mysql -uroot -p回车,输入密码,在回车
6、使用图形化界面连接docker中的MySQL 8.0
点击连接之后,发现会报错:
报错:不支持caching_sha_password加密方式
原因:mysql8.0使用新的密码加密方式:caching_sha_password
解决方案
修改成旧的加密方式(mysql_native_password),并重置密码
步骤
show databases;
use mysql;
select host,user,plugin from user;
alter user 'root'@'%' identified with mysql_native_password by '123456';
分号前面单引号里面的内容就是新密码,可以设置自己想要的密码,也可以与原密码一样。
我的就用123456了,因为我的5.7的mysql也是123456,方便记忆
然后再重新连接,版本是
总结
到此这篇关于Docker安装MySQL8.0的详细步骤的文章就介绍到这了,更多相关Docker安装MySQL8.0内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!