2059问题的解决:
如果你直接查询user中的plugin已经是mysql_native_password,然后照着网上的方法折腾来折腾去还不行,甚至是到了最后连在cmd里都没有办法密码登陆的话,
重装吧……
我重装以后什么都不用改就直接连上Navicate了,〒▽〒
以及我win10卸载MySQL的时候系统设置里没有MySQL的应用,注册表也只在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application和HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications下有文件夹,还不是MySQL,而是mySQLD,C:\Application Data下也没有什么MySQL文件夹,完了删掉两个注册表和安装目录下的所有内容就可以重装了
修改密码:
-
以管理员权限打开cmd
-
输入net stop mysql停止mySQL服务,如果服务已经是停止的就忽视这条
-
输入mysqld --console --skip-grant-tables --shared-memory以无密码启动服务
-
以管理员权限打开另一个cmd,输入mysql.exe -u root
-
这里是查询表格的,想看就看,不想看不查也没问题。输入select host,user,authentication_string from mysql.user;,这里一定要有分号。这样就可以得到如下的表格。mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码。
-
输入flush privileges;
-
输入use mysql;
-
修改密码,这里有几种方法可选:
I.用update user set authentication_string=‘新密码’ where user=‘root’; 直接设置密码;
II.先用update user set authentication_string=’’ where user=‘root’; 清空authentication_string下的值,然后再用alter user ‘root’@‘localhost’ identified by ‘新密码’; 设置密码
注意密码需要包含大写字母、小写字母、数字和特殊字符 -
输入quit离开数据库