mysql 安装成功后 → docker安装mysql篇
通过Navicat(mysql登录工具)一直登录不进去.
通过终端登录,提示错误如下:
$ mysql -h host-ip -P 3306 -u root
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
终于解决了!!!
查看多方资料, 原来是验证方式的问题。
# 宿主机上进入容器
$ docker exec -it mysql bash
# 登录mysql
$ mysql -uroot -pxxx
# 查看数据库下的登录账号信息
mysql> use database
mysql> select user,host,plugin from user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| develop | % | mysql_native_password |
| developer | % | mysql_native_password |
| root | % | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
7 rows in set (0.00 sec)
# root - caching_sha2_password ? 不就是提示的错误吗!!!
# 更改该账户的验证方式
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
Query OK, 0 rows affected (0.01 sec)
# 更改后的信息同步到内存,不刷新可查看效果
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,plugin from user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| develop | % | mysql_native_password |
| developer | % | mysql_native_password |
| root | % | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
7 rows in set (0.00 sec)
再次通过Navicat 登录, 连接成功。
使用root 账户,也可以。
问题?
使用 Sequel Pro 连接成功后,查不出数据。 还没找到原因。
由相关了解的话,可以在下方评论交流~~