GreatSQL社区

搜索

[已解决] 如何证明没有192这个IP没有连接成功数据库

930 9 2023-6-21 20:55
2023-06-06T18:12:57.734541Z 5338696 [Note] Aborted connection 5338696 to db: 'edu' user: 'root' host: '192.22.16.1' (Got an error reading communication packets)
全部回复(9)
KAiTO 2023-6-21 22:05:10
如果只有这一段日志内容的话,这个IP地址在连接数据库时发生了错误并导致连接异常中断。由于"Aborted connection"这句话表明该socket被异常关闭,因此只能推测与该IP地址的连接没有成功.
sky凌乱 2023-6-21 22:11:47
是否有官方文档的说明来证明呢?
KAiTO 2023-6-21 22:15:57
yejr 2023-6-22 06:54:04
这只能证明这个终端IP曾经登入失败过,但无法证明其成功登入过。
建议开启general log,或者GreatSQL最新版本中的审计日志入表功能,就可以达到记录所有登入操作记录的目的。
详情参考:https://gitee.com/GreatSQL/Great ... dit-log-in-table.md
yejr 2023-6-22 06:57:17
yejr 发表于 2023-6-22 06:54
这只能证明这个终端IP曾经登入失败过,但无法证明其成功登入过。
建议开启general log,或者GreatSQL最新版 ...

另外,为了记录对数据库的所有变更操作,还应该确保开启binlog,并且把binlog实时转存到远程,参考binlog server的做法,具体可以搜相关手册内容。
https://dev.mysql.com/doc/refman ... -from-remote-server
sky凌乱 2023-6-22 11:11:29
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,因此此方法是连接上数据库了
sky凌乱 2023-6-22 11:17:37
通过模拟密码错误,发现报错日志是以下日志信息:
2023-06-22T11:15:32.170109+08:00 38705723 [Note] Access denied for user 'test'@'127.0.0.1' (using password: YES)
与实际报错日志不符
sky凌乱 2023-6-22 11:36:48
通过程序连接没有权限的库名,进行操作,数据库报错日志为:
1044, "Access denied for user 'test'@'127.0.0.1' to database 'sbtest1'
与Aborted connection 报错日志不相符
ShawnYan 2023-6-23 10:29:07
2023-06-23 11:27:25 10751894 [Warning] Aborted connection 10751894 to db: 'information_schema' user: 'replication' host: 'x' (Got an error reading communication packets)

还是挺容易复现的报错。
sky凌乱

5

主题

0

博客

24

贡献

新手上路

Rank: 1

积分
43

助人为乐(铜)

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-12-4 01:19 , Processed in 0.022818 second(s), 20 queries , Redis On.
快速回复 返回顶部 返回列表