2015-11-11 89 views
0

將我的頭髮拉出來,似乎無法找到我的問題的答案。我在OSX Yosemite上運行MYSQL 5.6.26。我只是試圖啓用我的查詢記錄。在OSX上的my.cnf中啓用日誌記錄不起作用

我已經找到了位於/ usr /本地/ mysql的my.cnf文件並添加下[MySQL的]兩個 線(其實我有給他們打出來,而不是僅僅在取消現有的線):

general_log=1 
general_log_file=/usr/local/mysql/mysql.log 

上做的my.cnf收益率的ls -l:

-rw-r--r-- 1 root wheel 1002 Nov 10 19:01 my.cnf 

這似乎很奇怪。爲什麼_mysql不是所有者?

我已經嘗試過,只是進行上面的更改,並通過系統偏好設置停止並重新啓動sql服務器,並且不起作用。

我試着將my.cnf的所有權更改爲_mysql,在目錄/ usr/local/mysql中創建mysql.log,並使所有者_mysql也無濟於事。

有點瘋狂,因爲我覺得這不應該那麼難。我如何啓用mysql的日誌記錄?

+0

看到,如果你有一個my.cnf文件在/ var/mysql的 –

+0

我沒有看到在/ var一個mysql目錄 – mathfish

+0

我見我有兩個,但可能都沒有被使用。下載mysqlworkbench。在Admin/Configuration下,您可以設置日誌記錄選項。 –

回答

0

以我使用MySQL工作臺約翰Elemans的意見後,開闢了本地實例,並在左側的是,有一個名爲「實例」的區域指向「服務器日誌」的鏈接。錯誤日誌顯示我在my.cnf中指定的日誌文件不存在。所以我在/ usr/local/mysql中創建了日誌文件mysql.log,並通過WorkBench重新啓動服務器。看着錯誤日誌,並且拋出一個錯誤,說mysql無法打開文件。檢查的權限和_mysql不是所有者。所以我做了一個chown從root到_mysql的日誌文件,重新啓動了服務器,瞧......這是工作。謝謝大家。

不知道如何接受約翰的答案作爲正確的答案,所以我只選擇這一個,因爲它爲別人回答問題。

0

默認情況下,沒有配置文件在OSX上與標準安裝一起使用。如果您希望服務器自動將其放入/ etc(即/etc/my.cnf),這真的會在/private/etc/my.cnf中結束,但這是透明的。

另一種選擇是在服務器啓動時指定選項文件(通過--defaults-file參數):

米凱什-的MacBook-PRO:等邁克$的ps aux | grep mysql

Mike 2055 0,0 0,1 3235892 7268 ?? S 2Nov15
1:41.22 /Users/Mike/sandboxes/5.7.5/bin/mysqld --defaults-file =/Users/Mike/sandboxes/msb_5_7_5/my.sandbox.cnf --basedir =/Users/Mike /sandboxes/5.7.5 --datadir =/Users/Mike/sandboxes/msb_5_7_5/data --plugin-dir =/Users/Mike/sandboxes/5.7.5/lib/plugin --user = Mike --log-error =/Users/Mike/sandboxes/msb_5_7_5/data/msandbox.err --pid-file =/Users/Mike/sandboxes/msb_5_7_5/data/mysql_sandbox5705.pid --socket =/var/folders/fv/13zbdzw17cdczn_rbnt5m_140000gn/T//mysql_sandbox5705.sock --port = 5705

+0

我的/ usr /本地/ MySQL的到/ etc複製my.cnf中並重新啓動MySQL,但我沒有看到填充在/ usr /本地/ mysql目錄下一個mysql.log文件。 權限my.cnf文件在/ etc是-rw-R - R-- 1根輪 是不是一個問題? – mathfish

+0

可能,是的。服務器如何啓動(哪個用戶帳戶)?嘗試不同的錯誤文件位置(例如,在/ tmp,你的家庭目錄等)。另外嘗試不同的端口設置並從終端連接,以確保服務器實際上已啓動my.cnf文件(或在啓動服務器時明確指定它)。 –

2

我在試圖在mySQL 5.7 Community Edition上設置日誌時遇到了這篇文章。該版本附帶一個啓動守護程序/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist,該守護程序替換my.cnf文件以進行新安裝。您可以在啓動參數添加到plist文件,以啓用日誌記錄:

--log-output--general_logslow_query_log,如:

https://dev.mysql.com/doc/refman/5.7/en/osx-installation-launchd.html https://dev.mysql.com/doc/refman/5.7/en/log-destinations.html

<key>ProgramArguments</key> 
    <array> 
     <string>/usr/local/mysql/bin/mysqld</string> 
     <string>--user=_mysql</string> 
     <string>--basedir=/usr/local/mysql</string> 
     <string>--datadir=/usr/local/mysql/data</string> 
     <string>--plugin-dir=/usr/local/mysql/lib/plugin</string> 
     <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string> 
     <string>--log-output=FILE</string> 
     <string>--general_log=/var/log/mysql/mysql.log</string> 
     <string>--log-error=/var/log/mysql/mysql.err.log</string> 
    </array> 

更多信息可以在發現

+0

--general_log參數需要一個布爾值,而不是日誌文件的路徑。因此請使用--general_log = on。默認情況下,MySQL將在/ usr/local/mysql/data /中生成一個hostname.log文件。 – Juanan