我有两个具有完全相同权限的 MySQL 用户,一个可以从远程主机连接,另一个则不能。这是怎么回事?
这是我的配置:
SELECT * FROM user WHERE user IN ('baduser','gooduser') AND host='%';
结果是:
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin authentication_string password_expired
% gooduser *PASS1 Y N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 NULL N
% baduser *PASS2 Y N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 NULL N
然而,当我从远程主机以“baduser”身份登录时......
mysql -h 999.888.777.666 -u baduser -p my_db
我收到以下错误:
ERROR 1045 (28000): Access denied for user 'baduser'@'111.222.333.444' (using password: YES)
答案1
您可能为 baduser 设置了错误的密码 - 尝试重置该用户的密码,然后重试,看看是否能解决问题。我测试过,使用错误密码时会收到完全相同的错误消息和错误代码。请注意,您可以为用户设置不同的密码,具体取决于用户连接的主机。
如果这不起作用,请尝试删除该用户并重新创建,看看是否可以解决问题。