虎牙直播助手桌面捕捉怎么用
260 2023-04-03 02:58:07
我完全不喜欢这个想法所以我至少要收集尽可能多的相关信息.确切地说,我需要(想要)以下:
> [datetime] 1.2.3.4连接
> [datetime] 3.4.5.6密码错误
根据mysql manual,要么记录所有内容(不可接受的性能开销),要么记录任何与我相关的内容(以及什么可以帮助我们跟踪攻击者/不负责任的管理员).
我考虑过每N分钟点击和删除这个日志,但这似乎不对.
实际上有一种方法可以将所有连接记录到mysql本身:假设:我们将用于存储此信息的数据库名称将被称为admin.
>创建表以存储连接信息.如果您不想,则不必包含唯一键.
CREATE TABLE admin.connections(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,connect_time DATETIME NOT NULL,user_host VARCHAR(50)NOT NULL,connection_id INT UNSIGNED NOT NULL,UNIQUE INDEX idx_connect_time_user_host(connect_time,user_host));
>设置init-connect变量.这是为每个连接的客户端执行的字符串.细节在这里.
SET GLOBAL init_connect =“INSERT INTO admin.connections(connect_time,user_host,connection_id)VALUES(NOW(),CURRENT_USER(),CONNECTION_ID());”;
>检查所有用户的权限,以确保他们可以将记录插入admin.connections表.
>以没有全局权限的用户身份登录,并在admin.connections表中插入一行.请注意,init-connect系统变量不适用于具有全局权限的用户.无论好坏,我们所有的DBA都知道这意味着什么.
>观察您的连接表的成长和蓬勃发展.你刚开始一个新的宠物(项目).
资料来源:http://mysqlhints.blogspot.com.es/2011/01/how-to-log-user-connections-in-mysql.html
现在你必须要求你的用户负责,他们可能会开始使用数据充斥你的表,但随后你会与恶意的人打交道.为了安全起见,我会使用一个远程位置来查看该表并保留它的副本.