描述
在ubantu20下正常安装mysql8之后
navicat也能正常远程连接之后
通过代码进行访问时,提示The server requested authentication method unknown to the client
解决方案
找到mysql.cnf文件
在[mysqld]下
添加
default_authentication_plugin=mysql_native_password
注意
我是按照这个帖子进行安装的
安装之后,mysql的配置文件在/etc/mysql/下
但是,找不到网上说的my.ini
于是我在类似的cnf中尝试进行添加解决方案中的配置,重启mysql正常
但在通过mysql -uroot -p这个命令行进行访问时,提示异常,说识别不到变量,如下图
原因
没有找对配置文件
根据其他帖子的说法,是需要找到配置文件,然后再添加这个配置
经过观察,我发现我的cnf文件他没有[mysqld],只有[mysql]
因此合理推测是配置文件没有找对,在一点时间的查找后最终发现,是需要在
/etc/mysql/mysql.cnf.d这个文件夹中的mysqld.cnf中进行添加配置的操作
然后重启mysql
systemcli start mysql
成功,然后再次调用mysql -uroot -p
成功