1.安装
docker pull mysql:8.0
2.启动
docker run --restart=always -p 3306:3306 --name mysql -v /home/data/mysql/log:/var/log/mysql -v /home/data/mysql/data:/var/lib/mysql -v /home/data/mysql/conf:/etc/mysql -v /etc/timezone/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
3.问题:
关于mysql8.0远程连接的问题:Authentication plugin 'caching_sha2_password' cannot be loaded
如下错误:
a.首先进入mysql
docker exec -it mysql bash
mysql -u root -p (密码就是启动容器时设置的密码,目录挂载后设置的默认密码无法使用)
如果无法登录就用免密登录修改密码:https://jingyan.baidu.com/article/eb9f7b6dd03c1fc69364e8da.html
b.查询输入库并进入数据库
show databases; # 查看所有数据库
use mysql; #进入数据库
c.执行:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
执行这个sql查询:select user,host,plugin from user;
结果分析,按理说这两个都应该改成:mysql_native_password,看第一个没有被修改,所以还要执行下面这个sql:ALTER USER 'root'@'%'IDENTIFIED WITH mysql_native_password BY 'root';
执行这个sql查询:select user,host,plugin from user;再看结果
发现都改了,再连接就OK了