如何证明没有192这个IP没有连接成功数据库
2023-06-06T18:12:57.734541Z 5338696 Aborted connection 5338696 to db: 'edu' user: 'root' host: '192.22.16.1' (Got an error reading communication packets) 如果只有这一段日志内容的话,这个IP地址在连接数据库时发生了错误并导致连接异常中断。由于"Aborted connection"这句话表明该socket被异常关闭,因此只能推测与该IP地址的连接没有成功. 是否有官方文档的说明来证明呢? sky凌乱 发表于 2023-6-21 22:11是否有官方文档的说明来证明呢?
https://dev.mysql.com/doc/refman/8.0/en/communication-errors.html
https://files.mdnice.com/user/33166/40ca8737-e215-48c6-8a3c-afb99ab0603f.png
这只能证明这个终端IP曾经登入失败过,但无法证明其成功登入过。
建议开启general log,或者GreatSQL最新版本中的审计日志入表功能,就可以达到记录所有登入操作记录的目的。
详情参考:https://gitee.com/GreatSQL/GreatSQL-Manual/blob/master/5-enhance/5-4-security-audit-log-in-table.md yejr 发表于 2023-6-22 06:54
这只能证明这个终端IP曾经登入失败过,但无法证明其成功登入过。
建议开启general log,或者GreatSQL最新版 ...
另外,为了记录对数据库的所有变更操作,还应该确保开启binlog,并且把binlog实时转存到远程,参考binlog server的做法,具体可以搜相关手册内容。
https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog.html#option_mysqlbinlog_read-from-remote-server import pymysql
conn = pymysql.connect(host='127.0.0.1',
port=3406, user='test', password='test',db ='sbtest' )
cursor = conn.cursor()
cursor.execute("SELECT 111111;")
通过python程序模拟连接数据库,复现这个相同的报错日志,但是general log记录内,记录了查询的SQL,因此此方法是连接上数据库了 通过模拟密码错误,发现报错日志是以下日志信息:
2023-06-22T11:15:32.170109+08:00 38705723 Access denied for user 'test'@'127.0.0.1' (using password: YES)
与实际报错日志不符 通过程序连接没有权限的库名,进行操作,数据库报错日志为:
1044, "Access denied for user 'test'@'127.0.0.1' to database 'sbtest1'
与Aborted connection 报错日志不相符 2023-06-23 11:27:25 10751894 Aborted connection 10751894 to db: 'information_schema' user: 'replication' host: 'x' (Got an error reading communication packets)
还是挺容易复现的报错。
页:
[1]