我有以下情况:
MySQL server:
IP: 192.168.0.1
user: testing
pass: testing123123
MySQL client #1:
IP: 192.168.0.2
MySQL client #2:
IP: 192.168.0.3进入MySQL服务器:
GRANT ALL PRIVILEGES ON *.* TO testing@'192.168.0.2' IDENTIFIED BY 'testing123123';
flush privileges;客户端#1被授予,而客户端#2没有被授予。
然后在客户端#1 shell中:
mysql -h192.168.0.1 -uuser_bla_bla -pbla_bla_bla
ERROR 1045 (28000): Access denied for user 'user_bla_bla'@'192.168.0.2' (using password: YES)进入Mysql服务器日志:
2017-03-11 12:13:10 82588 [Warning] Access denied for user 'user_bla_bla'@'192.168.0.2' (using password: YES)一切正常:错误的用户名/密码>>访问被拒绝>>日志记录
现在,客户端#2外壳:
mysql -h192.168.0.1 -uuser_bla_bla -pbla_bla_bla
ERROR 1130 (HY000): Host '192.168.0.3' is not allowed to connect to this MySQL server进入Mysql服务器日志:什么都没有!
我的my.cnf:
[mysqld]
log_warnings = 2
log_error=/var/log/mysql_error.logMySQL日志不记录“主机不允许”,它只记录“拒绝用户访问”。
问:如何记录MySQL“主机不允许”的情况?
谢谢!
发布于 2022-05-14 08:23:07
最近,我面对肥胖问题,找出了我的MySQL 5.7服务器不想要的登录尝试的来源,并发现了这个问题。因此,以下是可行的解决方案:
my.cnf中启用通用日志:[mysqld]
general_log_file = /var/log/mysql/mysql-query.log
general_log = 1grep -B 1 'Access denied' /var/log/mysql/mysql-query.log你会看到
2022-05-13T19:33:27.278884Z 2 Connect root@localhost on using Socket
2022-05-13T19:33:27.278923Z 2 Connect Access denied for user 'root'@'localhost' (using password: NO)
--
2022-05-13T19:34:02.517332Z 10 Connect bad_user@bad-ip-addr on my_database using TCP/IP
2022-05-13T19:34:02.517392Z 10 Init DB Access denied for user 'bad_user'@'%' to database 'my_database'
--在时间戳后有数字(即2,10 )的列包含连接ID,您可以很容易地将不想要的用户与他们的地址匹配。
注意保持启用general_log可能会导致磁盘空间的高消耗和性能下降的可能性。
https://serverfault.com/questions/837758
复制相似问题