Docker安装MySQL8

确认本机docker可用后,执行以下流程

1、docker search mysql

如下图,这里使用第一行的mysql镜像

Docker安装MySQL8

2、docker pull mysql 

3、docker images 来确保成功加载到本地仓库

4、docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_ PASSWORD=root -d mysql

如图,会生成一串hash码,这就是本次镜像实例出的mysql执行程序的id,以后可用根据这个实例 id或者name对其做操作,比如:

docker start a450a59xxxxxx 或者 docker start mysql  // docker run 命令执行后会自动执行start

docker stop a450a59xxxxxx 或者 docker stop mysql

docker rm a450a59xxxxxx 或者 docker rm mysql
Docker安装MySQL8

5、docker exec -it mysql bash

进入mysql,然后输入账户密码:mysql -uroot -p 回车,然后输入密码

6、​本地去连接mysql时报错,错误 2058 Plugin caching_sha2_password could not be loaded

由于mysql8.0的加密方法变了。mysql8.0默认采用caching_sha2_password的加密方式。sqlyog不支持这种加密方式。

解决办法

必须进入mysql命令行

1、修改密码过期
ALTER USER'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
2、重新修改密码
ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
3、刷新权限(不做可能无法生效)
FLUSH PRIVILEGES;


再次连接成功。

7、如果是连接云服务器,请确保端口对外可用