使用此命令
GRANT ALL PRIVILEGES ON *.* to 'brian'@'%' identified by 'password';
我尝试登录:
mysql -u brian -ppassword
错误是:
ERROR 1045 (28000): Access denied for user 'brian'@'localhost' (using password: YES)
我以root用户身份执行此操作,并且确实尝试刷新特权。
我尝试了无数用户,但这似乎行不通。我可以创建没有密码的用户,并且登录有效。命令行和从phpmyadmin
还要检查用户是否在mysql.user中。
布赖恩表演的表演赠款:
| GRANT ALL PRIVILEGES ON *.* TO 'brian'@'%' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |
您可能会遇到这种永久性的MySQL问题,其中user表中的默认用户之一是'' @ localhost,这localhost最终会在表的后面拒绝所有用户。我会做的是mysqldump将mysql在此项目数据库并查看User表; 如果找到,请删除它并刷新特权。
'' @ localhost
localhost
mysqldump
mysql
User
有关更多详细信息,请参见https://dev.mysql.com/doc/refman/5.5/en/connection- access.html。
常见的误解是认为,对于给定的用户名,当服务器尝试查找连接的匹配项时,首先使用显式命名该用户的所有行。这不是真的。前面的示例对此进行了说明,其中jeffrey与h1.example.net的连接首先不匹配包含“ jeffrey”作为“用户”列值的行,而是不匹配用户名的行。 结果,即使杰夫里在连接时指定了用户名,他仍被认证为匿名用户。