监控Mysql数据表变动的管控(监控mysql表的变化)
数据库监控一般来说,指通过监控数据库资源使用状况,判断数据库实例性能并可时时监控少量数据库变化,如数据表的行数及表的占用空间的变化。对Mysql数据表字段变动的管控需要以下几步:
第1步:查看Mysql数据库general_log中操作Mysql数据表的详细信息。
可以通过以下总命令查看general_log日志信息:
mysql> show variables like ‘general_log%’;
可以设置general_log变量开启或关闭,可以看到操作Mysql数据表时的详细操作信息:
mysql> SET GLOBAL general_log=1;
第2步:查看Mysql数据库表schema_update_log。
可以通过查看schema_update_log表,查看Mysql数据表有哪些变动,使用下面的sql语句可以查看Mysql数据表变动的情况:
mysql> select * from information_schema.schema_update_log;
第3步:利用binlog日志实现Mysql数据表变动的管控。
Mysql的binlog日志是一种日志文件,可以记录Mysql数据库操作时执行的命令,可以查看Mysql数据表有哪些变动,可以设置binlog变量开启binlog日志:
mysql> SET GLOBAL binlog_format=MIXED;
第4步:利用数据库触发器实现Mysql数据表变动的管控
可以使用触发器,当有Mysql数据表发生变动时可以记录到general_log中,可以使用下面的SQL语句创建一个触发器:
SQL> CREATE TRIGGER db_log
AFTER UPDATE OR DELETE ON ‘DataBaseName.TableName’
FOR EACH ROW
BEGIN
INSERT INTO general_log (event,time_stamp, user_host, thread_id)
VALUES( ‘UPDATE/DELETE’,SYSDATE(),CURRENT_USER, CONNECTION_ID());
END;
最后,可以使用Mysql数据库监控工具,设置报警系统实现Mysql数据表变动的管控,当Mysql数据库表变化时可以发出报警,以此来及时发现Mysql数据表有变动的情况。