2012-01-09 18 views
8

如何爲MAMP啓用MySQL的通用日誌?如何啓用MAMP的General Log for MySQL?

我用於在我的Mac上運行Apache,MySQL和PHP,所以我可以通過UI打開/關閉/重新啓動,而不是在默認情況下在機器上安裝Apache或PHP。

在我的Mac上,我嘗試在my.cnf文件中設置配置設置,以記錄運行到文件的每個SQL查詢。當我在終端中運行SHOW VARIABLES命令時,該設置似乎已經生效,如下面的輸出所示。

但是,當我從MySQL數據庫中讀取數據的MAMP服務器上執行SQL查詢或重新加載PHP頁面時,不會創建或填充常規日誌文件。

這裏的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) 

有什麼我丟了?

感謝
Turgs

+0

我剛剛看到我現在也可以在Windows上使用MAMP ..但在過去,我認爲唯一的選擇是XAMPP。 – Turgs 2018-02-14 00:39:53

回答

10

我試圖運行命令SET GLOBAL general_log = 'ON';,看看我是否能得到它的工作方式。即使文件確實存在,也會產生一條錯誤消息File Not Found

這表明這個問題可能是由於文件權限。

經過一番玩弄,我改變了:

  1. 文件的所有者是MySQL服務正在運行下的用戶匹配,並且
  2. 給用戶「寫權限」的文件

自從進行這些更改以來,它一直都是完美的工作。