使用此命令
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' |
chaos.. 178
你可能有这个永久的MySQL问题,其中用户表中的一个默认用户是'' @ localhost
,这localhost
最终会在表中拒绝所有用户.我会做的是mysqldump
对mysql
数据库,并期待在此项目User
表; 如果找到,删除它并刷新权限.
有关更多详细信息,请参阅https://dev.mysql.com/doc/refman/5.5/en/connection-access.html.
认为对于给定的用户名,当服务器尝试查找连接匹配时,首先使用显式命名该用户的所有行,这是一种常见的误解.这不是真的.上面的示例说明了这一点,其中来自h1.example.net的jeffrey连接首先不是由包含'jeffrey'作为User列值的行匹配,而是由没有用户名的行匹配.因此,jeffrey被认证为匿名用户,即使他在连接时指定了用户名.
如果您在Debian系统上使用mysql,那么解决此问题的最佳方法是执行mysql_secure_installation(需要root权限). (3认同)
小智.. 43
这是匿名用户造成的问题.一旦我安装MySQL,我总是运行
shell> mysql_secure_installation
并选择设置/更改root密码,删除匿名用户,禁止远程root登录,删除测试数据库.这将删除匿名用户并保护您的安装.它也应该解决你的问题.
你可能有这个永久的MySQL问题,其中用户表中的一个默认用户是'' @ localhost
,这localhost
最终会在表中拒绝所有用户.我会做的是mysqldump
对mysql
数据库,并期待在此项目User
表; 如果找到,删除它并刷新权限.
有关更多详细信息,请参阅https://dev.mysql.com/doc/refman/5.5/en/connection-access.html.
认为对于给定的用户名,当服务器尝试查找连接匹配时,首先使用显式命名该用户的所有行,这是一种常见的误解.这不是真的.上面的示例说明了这一点,其中来自h1.example.net的jeffrey连接首先不是由包含'jeffrey'作为User列值的行匹配,而是由没有用户名的行匹配.因此,jeffrey被认证为匿名用户,即使他在连接时指定了用户名.
这是匿名用户造成的问题.一旦我安装MySQL,我总是运行
shell> mysql_secure_installation
并选择设置/更改root密码,删除匿名用户,禁止远程root登录,删除测试数据库.这将删除匿名用户并保护您的安装.它也应该解决你的问题.
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
这里提供的解决方案都没有奏效.经过大量的错误和试验,我意识到密码中有特殊字符.更改密码没有特殊字符解决了这个问题