mysql8连接报错。Mysql Error Number 1251 Client does not support....
问题:
在windows上用可视化mysql连接软件连接mysql8.0时,很多软件会报:
Mysql Error Number 1251 Client does not support....
这个问题的原因是,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,默认的加密规则是caching_sha2_password。因此解决这个问题的方法就有两种。
mysql可视化连接软件升级navicat驱动(推荐)
不同连接可视化软件方法存在差异,具体情况加上软件名字百度搜索。
更改mysql登录用户的加密规则
在mysql服务器上登录mysql,查看用户信息
mysql > select host,user,plugin,authentication_string from mysql.user;
修改 fps用户的加密规则
mysql > ALTER USER 'fps'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql > flush privileges;
然后再用可视化软件连接即可。
【注意】
为什么说推荐方法一?因为方法二改变了用户的加密规则,如果我们的mysql服务器已经投入使用,贸然改变用户加密规则会导致开发那边应用连不上数据库。所以,如果改变使用方法二,一定要和开发沟通确认,确认代码里使用的是哪种方式连接数据库,改完之后也要进行测试。