记录一次实时获取mysql执行语句的问题解决
2025-10-09 13:53:48
问题:想实时获取mysql数据库中执行的sql语句,用于分析
解决方法:在mysql配置文件中启用日志文件支持
vi /etc/mysql/my.cnf,添加general_log、general_log_file项目,注意目录最好配置在 /var/log/mysql/下面,不然会出现权限问题
[mysqld]
character_set_server=utf8
collation_server=utf8_general_ci
general_log = 1
general_log_file = /var/log/mysql/mysql.log
登录mysql:mysql -u root -p
SHOW VARIABLES LIKE 'general_log%';"
显示如下:
+------------------+--------------------------+
| Variable_name | Value |
+------------------+--------------------------+
| general_log | OFF |
| general_log_file | /var/log/mysql/mysql.log |
+------------------+--------------------------+
启用SET GLOBAL general_log = ON;
最后通过在shell中执行tail -f /var/log/mysql/mysql.log观察sql语句执行即可
解决方法:在mysql配置文件中启用日志文件支持
vi /etc/mysql/my.cnf,添加general_log、general_log_file项目,注意目录最好配置在 /var/log/mysql/下面,不然会出现权限问题
[mysqld]
character_set_server=utf8
collation_server=utf8_general_ci
general_log = 1
general_log_file = /var/log/mysql/mysql.log
登录mysql:mysql -u root -p
SHOW VARIABLES LIKE 'general_log%';"
显示如下:
+------------------+--------------------------+
| Variable_name | Value |
+------------------+--------------------------+
| general_log | OFF |
| general_log_file | /var/log/mysql/mysql.log |
+------------------+--------------------------+
启用SET GLOBAL general_log = ON;
最后通过在shell中执行tail -f /var/log/mysql/mysql.log观察sql语句执行即可