我在 SF 上看到 MySQL 中有一个选项可以记录所有查询。因此,在我的版本(CentOS 5.2 上的 mysql-server-5.0.45-7.el5)中,这似乎是启用“日志”选项的情况,因此我进行了编辑/etc/my.cnf以添加以下内容:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
old_passwords=
log=/var/log/mysql-general.log
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Run Code Online (Sandbox Code Playgroud)
然后我创建了文件并设置了权限:
# touch /var/log/mysql-general.log
# chown mysql. /var/log/mysql-general.log
# ls -l /var/log/mysql-general.log
-rw-r--r-- 1 mysql mysql 0 Jan 18 15:22 /var/log/mysql-general.log
Run Code Online (Sandbox Code Playgroud)
但是当我启动 mysqld 时,我得到:
120118 15:24:18 mysqld started
^G/usr/libexec/mysqld: File '/var/log/mysql-general.log' not found (Errcode: 13)
120118 15:24:18 [ERROR] Could not use /var/log/mysql-general.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it …Run Code Online (Sandbox Code Playgroud) mysql ×1