怎样登网站/免费推广方式都有哪些
实际上有一种方法可以将所有连接记录到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都知道这意味着什么.
>观察您的连接表的成长和蓬勃发展.你刚开始一个新的宠物(项目).
现在你必须要求你的用户负责,他们可能会开始使用数据充斥你的表,但随后你会与恶意的人打交道.为了安全起见,我会使用一个远程位置来查看该表并保留它的副本.