我的 ubuntu 实例中有一个邮件服务器。我有一个网络服务器管理 FROXLOR,当我尝试登录邮件帐户时,我收到访问被拒绝的错误。对此的日志:
Aug 16 03:14:33 email dovecot: auth-worker(15140): Error: mysql(127.0.0.1): Connect failed to database (froxlor): Access denied for user 'froxlor'@'localhost' (using password: YES) - waiting for 25 seconds before retry
Aug 16 03:14:58 email dovecot: auth-worker(15140): Error: mysql(127.0.0.1): Connect failed to database (froxlor): Access denied for user 'froxlor'@'localhost' (using password: YES) - waiting for 125 seconds before retry
我检查 mysql 并说:
mysql> show grants for 'froxlor'@'localhost';
+----------------------------------------------------------------------------------------------------------------+
| Grants for froxlor@localhost |
+----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'froxlor'@'localhost' IDENTIFIED BY PASSWORD '*AAAAABBBBBCCCCCDDDDDEEEEE111112222333344444' |
| GRANT ALL PRIVILEGES ON `froxlor`.* TO 'froxlor'@'localhost' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
在谷歌搜索中,该行GRANT USAGE on*.*
表示该授予与“无”权限相关。
我尝试过撤销权限、删除用户、使用 GRANT OPTION 授予所有权限以及授予所有特权,并且始终使用FLUSH PRIVILEGES;
且有时使用service mysql restart
.... 但没有任何方法可以解决此问题。有人可以帮助我吗?提前致谢
答案1
在这种情况下,我认为你的mysql
服务器没有列出来127.0.0.1
请检查以下输出
sudo netstat -tunlep
mysql 服务器侦听端口 3306。在netstat -tunlep
输出中检查mysql
服务器是否正在侦听127.0.0.1
或::
。如果不让mysql
服务器也监听127.0.0.1
。
另请正确更新系统的主机名,如下所示
sudo vim /etc/hosts
127.0.0.1 localhost localhost.localdomain (other_entries,if any)
:: localhost localhost.localdomain (other_entries,if any)
如果这不能解决问题,则FROXLOR
使用软件的配置文件检索密码(我不知道FROXLOR
配置的位置,请查阅软件文档)
尝试使用从命令行配置中检索到的密码mysql
以用户身份登录服务器,如下所示。froxlor
FROXLOR
mysql -u froxlor -p retrived_password
如果这有效,那么FROXLOR
也应该连接。
不要忘记mysql
在每个步骤后重新启动服务器。