通过启用MAMP中的常规日志,将每个MySQL查询记录到文件中

时间:2012-01-09 03:42:17

标签: mysql

如何启用MySQL的常规日志以用于MAMP

我用它在我的Mac上运行Apache,MySQL和PHP,这样我就可以通过UI打开/关闭/重启,而不是弄乱默认安装在机器上的Apache或PHP。

在我的Mac上,我尝试在 my.cnf 文件中设置配置设置,以记录运行到文件的每个SQL查询。当我从终端内运行 SHOW VARIABLES 命令时,设置似乎已生效,如下面的输出所示。

问题:常规日志文件未填充 当我实际执行 SQL查询或在MAMP服务器上重新加载从MySQL数据库读取数据的PHP页面时,通常的日志文件不会被创建或填充。< / p>

以下是我设置的 my.cnf 内容的一部分:

# The MySQL server
[mysqld]
#port       = 9999
socket      = /Applications/MAMP/tmp/mysql/mysql.sock
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
bind-address = 127.0.0.1
general_log = 1
general_log_file = /Applications/MAMP/logs/mysql_general_sql.log

以下是运行 SHOW VARIABLES 语句的输出部分:

mysql> show variables;
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
| Variable_name                                     | Value                                                                                                                  |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
| ...                                               | ...                                                                                                                    |
| general_log                                       | ON                                                                                                                     |
| general_log_file                                  | /Applications/MAMP/logs/mysql_general_sql.log                                                                          |
| log                                               | ON                                                                                                                     |
| log_bin                                           | OFF                                                                                                                    |
| log_bin_trust_function_creators                   | OFF                                                                                                                    |
| log_error                                         | /Applications/MAMP/logs/mysql_error_log.err                                                                            |
| log_output                                        | FILE                                                                                                                   |
| log_queries_not_using_indexes                     | OFF                                                                                                                    |
| log_slave_updates                                 | OFF                                                                                                                    |
| log_slow_queries                                  | OFF                                                                                                                    |
| log_warnings                                      | 1                                                                                                                      |
| long_query_time                                   | 10.000000                                                                                                              |
| relay_log                                         |                                                                                                                        |
| relay_log_index                                   |                                                                                                                        |
| relay_log_info_file                               | relay-log.info                                                                                                         |
| relay_log_purge                                   | ON                                                                                                                     |
| relay_log_recovery                                | OFF                                                                                                                    |
| relay_log_space_limit                             | 0                                                                                                                      |
| report_host                                       |                                                                                                                        |
| report_password                                   |                                                                                                                        |
| report_port                                       | 3306                                                                                                                   |
| report_user                                       |                                                                                                                        |
| server_id                                         | 1                                                                                                                      |
| slow_launch_time                                  | 2                                                                                                                      |
| slow_query_log                                    | OFF                                                                                                                    |
| slow_query_log_file                               | /Library/Application Support/appsolute/MAMP PRO/db/mysql/tim-slow.log                                                  |
| socket                                            | /Applications/MAMP/tmp/mysql/mysql.sock                                                                                |
| sql_log_bin                                       | ON                                                                                                                     |
| sql_log_off                                       | OFF                                                                                                                    |
| ...                                               | ...                                                                                                                    |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
318 rows in set (0.01 sec)

我有什么遗失的吗?

1 个答案:

答案 0 :(得分:10)

我尝试运行命令SET GLOBAL general_log = 'ON';,看看我是否可以通过这种方式运行它。这会产生错误消息File Not Found,即使该文件确实存在。

这表明问题可能是由于文件权限造成的。

经过一番游戏,我改变了:

  1. 文件的所有者,以匹配正在运行MySQL服务的用户,
  2. 授予该用户对文件的“写入权限”
  3. 自从做出这些改变以来,它一直运作良好。

相关问题