Navicat不管点哪个库都是1130,cmd也是,MySQL8.0command输入123456就闪退(root密码为123456),是因为root密码被改了吗
昨天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时,可能会导致密码验证失败。
以下是一些可能的解决方案:
使用MySQL 8.0兼容的客户端:确保您使用与MySQL 8.0兼容的客户端连接到MySQL服务器。Navicat的较新版本应该支持MySQL 8.0的身份验证插件。请确保您正在使用最新版本的Navicat。
更改root用户的身份验证插件:如果您可以访问MySQL服务器的文件系统,请尝试通过修改MySQL配置文件来更改root用户的身份验证插件。打开MySQL配置文件(通常为my.cnf或my.ini),找到并编辑以下行:
[mysqld]
default_authentication_plugin=mysql_native_password
添加或修改default_authentication_plugin
的值为mysql_native_password
,然后保存文件并重启MySQL服务器。
重置root用户密码:如果无法访问MySQL服务器的文件系统或无法修改配置文件,可以尝试重置root用户的密码。请参考MySQL官方文档中关于重置root密码的说明:https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
您可以按照文档中的步骤来重置root密码,然后使用新密码尝试连接MySQL。
请注意,如果您不熟悉MySQL的配置和管理,请小心操作,并确保在进行任何更改之前备份数据库。