连接mysql报2059错_MySQL连接2059错误解决方法

开始学MySQL,结果安装完SQLyog后连接不了,总是弹出提示2059错误。在网上查找了一下才发现原因,MySQL8.0.11版本启用了新特性,用户登录加密规则改为了caching_sha2_password,原有的不支持新特性。想使用caching_sha2_password新特性的话,需要更新一下驱动。

想继续使用以前的老特性,可以将mysql用户登录的加密规则还原为mysql_native_password,我这里用的就是修改加密规则。

方法有两种,

1.修改/etc/my.cnf

加入default_authentication_plugin=mysql_native_password

备注:重启生效

【方法引自

https://www.baidu.com/link?url=Wmmgb1S7t0yK432w5k9B9377GJArTkIEr4LyGvmJ87Pg-SbgYdLerzFAsYYCeShNvCpK0ceA7B7LkPE9yv9W8K&wd=&eqid=8645eab2000280ac000000035aeffc2c】【似乎是Linux系统的解决方法,Windows系统是my.ini,本人才学疏浅,失败了】

2.使用命令行【有效】

以管理员身份运行命令指示符,在开始菜单里输入cmd,搜索到后右键,以管理员模式运行。输入MySQL所在位置,格式如下

e5285600058f31002d75ca136693ec1c.png

使用mysql -u root -p命令,输入密码,密码初始为空,直接点回车就行;

fc0b94e866c15120dccca70000fdc4a0.png

输入命令

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

password没有的就不输入。

再打开SQLyog就好了

你可能感兴趣的:(连接mysql报2059错)