使用mysql8.0搭建起数据库之后,在本地连接mysql的时候遇到报错:Client does not support authtication protocol requested by server;consider upgrading mysql client ,我这里是用的navicat for mysql客户端。这是由于mysql8.0更新了加密规则,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。而navicat当前版本还不支持最新的加密规则。看到之前也有一篇文章涉及到这个问题:http://47.93.183.36/article/701.html 解决起来很简单的,通过以下3种方法处理就可以使用navicat连接MySQL8了。本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
1.如之前文章所说可以在mysql的启动文件中配置加密规则本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
[mysqld]
default_authentication_plugin=mysql_native_password本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
2.创建用户密码的时候指定加密规则,这个方便简单。本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
CREATE DATABASE `test` create user '用户名'@'%' identified WITH mysql_native_password by '密码'; grant all privileges on 数据库名.* to '用户名'@'%' with grant option; flush privileges;本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
3.对于已经创建的用户修改一下加密规则即可。本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; FLUSH PRIVILEGES;本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
另外记得之前在操作mysql8.0遇到不能直接使用grant privileges授权的同时创建用户,在8.0中这两步必须分开,即先创建用户然后再授权。常用的mysql相关配置如下(添加到mysql8中的/etc/my.cnf):本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
[mysqld] port=3309 #端口 max_connections=200 # 允许最大连接数 max_connect_errors=10 # 允许连接失败的次数 character-set-server=utf8 # 服务端默认字符集 default-storage-engine=INNODB # 创建表时默认存储引擎 default_authentication_plugin=mysql_native_password # 默认使用加密规则 sql_mode = ‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION‘ [mysql] default-character-set=utf8 #mysql客户端默认字符集 [client] port=3309 #设置mysql客户端默认端口 default-character-set=utf8本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
最后使用systemctl status 和systemctl restart查看和重启mysql8。
systemctl status mysqld.service
systemctl restart mysqld.service本文地址:http://47.93.183.36/article/999.html,未经许可,不得转载.
本文地址:http://47.93.183.36/article/999.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
手机扫码直接打开本页面 |