MYSQL的root密码

Navicat不管点哪个库都是1130,cmd也是,MySQL8.0command输入123456就闪退(root密码为123456),是因为root密码被改了吗

img

img


我试着用下面方法改了root密码,但还是上面那些错误

img

昨天javaweb用123456还好使,今天输入了update mysql.user set password='456'
where user='wzq' and host='localhost';
(2)功能:GRANT修改用户wzq密码
命令:grant usage on . to 'wzq'@'localhost' IDENTIFIED BY '123456';不知道是不是这个原因(但这个命令不是改wzq吗,和root没关呀,wzq是自己建的用户)
请问原因是什么,怎么解答,谢谢

如果无论在Navicat还是在命令行中,尝试连接MySQL时都遇到了1130错误,并且MySQL 8.0命令行在输入root密码后闪退,可能是由于root密码被更改导致的问题。

在MySQL 8.0中,默认的身份验证插件已更改为caching_sha2_password,这与旧版本的MySQL身份验证插件mysql_native_password不兼容。当使用旧版本的MySQL客户端(如Navicat)尝试连接到MySQL 8.0时,可能会导致密码验证失败。

以下是一些可能的解决方案:

  1. 使用MySQL 8.0兼容的客户端:确保您使用与MySQL 8.0兼容的客户端连接到MySQL服务器。Navicat的较新版本应该支持MySQL 8.0的身份验证插件。请确保您正在使用最新版本的Navicat。

  2. 更改root用户的身份验证插件:如果您可以访问MySQL服务器的文件系统,请尝试通过修改MySQL配置文件来更改root用户的身份验证插件。打开MySQL配置文件(通常为my.cnf或my.ini),找到并编辑以下行:

    [mysqld]
    default_authentication_plugin=mysql_native_password
    

    添加或修改default_authentication_plugin的值为mysql_native_password,然后保存文件并重启MySQL服务器。

  3. 重置root用户密码:如果无法访问MySQL服务器的文件系统或无法修改配置文件,可以尝试重置root用户的密码。请参考MySQL官方文档中关于重置root密码的说明:https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

    您可以按照文档中的步骤来重置root密码,然后使用新密码尝试连接MySQL。

请注意,如果您不熟悉MySQL的配置和管理,请小心操作,并确保在进行任何更改之前备份数据库。