mysql新用户访问被拒绝

Rya*_*yan 10 mysql

刚开始使用mysql.我使用root登录并按照在线参考创建新用户:

mysql> CREATE USER 'abc'@'%' IDENTIFIED BY '111111';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'abc'@'%' WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)

然后我退出并尝试使用新用户登录:

mysql --user=abc --password=111111 mysql
Run Code Online (Sandbox Code Playgroud)

但得到一条错误信息:

用户'abc'@'localhost'拒绝访问(使用密码:YES)

我错过了什么吗?

Ven*_*enu 20

运行此工作

FLUSH PRIVILEGES
Run Code Online (Sandbox Code Playgroud)

为用户提供所需的权限后,您将需要FLUSH权限才能完成设置并使新设置正常工作.为此,请在SQL命令提示符下运行此命令:

[编辑]
如果您还想从localhost连接,则应创建另一个帐户.

有必要让"用户"的帐户能够从任何地方作为"用户"进行连接.如果没有localhost帐户,当'user'从本地主机连接时,mysql_install_db创建的localhost的匿名用户帐户将优先.因此,"用户"将被视为匿名用户.这样做的原因是匿名用户帐户具有比"用户"@"%"帐户更具体的主机列值,因此在用户表排序顺序中更早出现.)

仅供参考:http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

  • 哈!你需要两个帐户!从上面的链接:"有两个帐户的monty能够从任何地方连接为monty.没有localhost帐户,当monty从本地连接时,mysql_install_db创建的localhost的匿名用户帐户将优先.因此,monty将被视为匿名用户.原因是匿名用户帐户具有比'monty'@'%'帐户更具体的主机列值,因此在用户中更早出现表排序顺序.)" (7认同)
  • 授予权限后尝试了此操作,但仍然无法正常工作 (2认同)

use*_*764 5

就我而言,问题出在密码上。在使其包含较少数量的特殊字符后,它开始工作。