centos8 docker创建mysql容器并在本地用navicat连接

1、搜索mysql镜像

docker search mysql

2、拉取mysql镜像

docker pull mysql

3、创建mysql容器

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql

PS:
–name: 容器的名字
-e:设置容器的环境变量
-d:后台运行
-p:将容器的端口映射到主机的端口

这样就创建了一个mysql容器,但是该容器是8.0以上版本的,直接在本地用navicat连接会报错:“authentication plugin ‘caching_sha2_password’ cannot be loaded:”

原因是mysql8.0之前的版本密码加密方式是mysql_native_password,8.0及之后的版本加密方式是caching_sha2_password,而navicat支持的加密方式是mysql_native_password,固我们需要将mysql的加密方式改为mysql_native_password

4、进入mysql容器

[root@localhost fandy]# docker exec -it mysql /bin/bash

5、登录mysql容器

root@21ff2224e8e7:/# mysql -u root -p

6、更改mysql容器密码加密方式

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;   #修改加密规则 

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';   #更新一下用户的

FLUSH PRIVILEGES;

操作完之后,就可以在本地使用连接上虚拟机中的docker镜像了
centos8 docker创建mysql容器并在本地用navicat连接_第1张图片
注意主机是你虚拟机的ip哦,而查看虚拟机的IP地址命令是

ifconfig

你可能感兴趣的:(Docker)