目录
今天使用docker安装mysql8之后,在用远程工具安装mysql之后,安装完成之后报错Authentication plugin 'caching_sha2_password' cannot be loaded
#安装mysql8,让容器使用宿主机的时间,容器时间与宿主机时间同步
docker run \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=xdclass.net168 \
-v /home/data/mysql/data:/var/lib/mysql:rw \
-v /etc/localtime:/etc/localtime:ro \
--name xdclass_mysql \
--restart=always \
-d mysql:8.0
#Mysql工具连接测试
产生原因:
- 是MySQL兼容问题,需要修改数据库的认证方式
- MySQL8.0版本默认的认证方式是caching_sha2_password
- MySQL5.7版本则为mysql_native_password。
解决方法:
- docker start mysql 进入MySql
- docker ps -a 查出自己创建的container(容器)的ID
- docker exec -it 容器id bash (每个人创建的container ID都不一样)
- mysql --uroot --p
- ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '1234567';
之后就解决了