在mysql配置文件/etc/my.cnf中启用通用日志
# 修改数据库配置文件命令 vi /etc/my.cnf # 显示my.cnf文件内容,按i切换输入模式,文件最后增加如下配置,/work/mysql/ecs.log是日志保存路径。 general_log = 1 general_log_file = /work/mysql/ecs.log log_timestamps = SYSTEM # 编辑完成后按Esc键,再输入:wq,按Enter键完成文件保存。 # 重启MySQL服务命令 sudo systemctl restart mysqld
验证是否成功
[root@s-zw-db-mysql-test ~]# mysql -uhlwjzwfw -p Enter password: mysql> show variables like '%general%'; +------------------+------------------------+ | Variable_name | Value | +------------------+------------------------+ | general_log | ON | | general_log_file | /work/mysql/ecs.log | +------------------+------------------------+ 2 rows in set (0.00 sec)
因为general日志通常比较大,需要定时做日志备份或者做日志切割。可以参考:logrotate切割mysql数据库的general日志
性能影响
由于通用日志记录了所有活动,开启General Log后,数据库的性能损耗可能在5%到10%之间。但请注意,这只是一个大致的范围,并不能代表所有情况下的实际性能损耗。