MySQL的啟動與關閉
手動啟動MySQL Server-Windows作業系統www@slime@com@tw將工作目錄切換至MySQL安裝目錄中的bin資料夾(C:\Program Files\MySQL\MySQL Server 5.0\bin),然後輸入以下指令即可啟動:
MySQL預設會將錯誤訊息(Error Message)寫入到Error Log,若你希望MySQL將錯誤訊息輸出到terminal以方便你除錯,則可以加上 --console 選項:
若是要終止MySQL Server,則請開啟一個新的terminal視窗並輸入:
如此一來即可正常的關閉MySQL Server。雖然你也可以使用Windows提供的『工作管理員』或是直接關閉正在執行MySQL Server的terminal視窗以強迫關閉MySQL Server,但這樣子一來有可能會造成資料庫檔案的損毀,或是Server來不及將memory中的資料寫回磁碟,因此非常不建議你這麼做。
將MySQL Server設定為Windows Servicewww@slime@com@tw若是你希望在Windows啟動或關閉時,MySQL Server也能夠自動的啟動或關閉,則只要將MySQL Server 設定為Windows Service即可。將工作目錄切換至MySQL安裝目錄中的bin資料夾(C:\Program Files\MySQL\MySQL Server 5.0\bin),然後輸入以下指令:
引用:
mysqld --install [service_name] [--defaults-file=file_path]
|
註:若是在這裡指定了'MySQL'以外的Service Name並且沒有指定- -defaults-file,則Server除了會從standard option file中讀取 [mysqld] group的設定值,還會額外讀取 [service_name] group 的設定值。
如此一來即可將MySQL Server設定為Windows Service,若是沒有指定新的Service Name則預設為MySQL。若是要移除該Service,則輸入以下指令:
引用:
mysqld --remove [service_name]
|
一但我們將MySQL Server設定為Windows Service後,也可以使用以下的指令來啟動或關閉MySQL Server:
引用:
net start MySQL <== 啟動MySQL Server
net stop MySQL <== 關閉MySQL Server
|
Log與Status Fileswww@slime@com@tw
MySQL 提供三大類的 LOG。
- General Log:記錄所有Client 發送到Server的SQL Statement
- Binary Log:記錄所有對於資料庫的修改操作
- Slow Log:記錄所有的 Slow Query
註:在預設的情況下這些Log機制都是被關閉的。
The General Query Log (
hostname.log)
www@slime@com@tw在這個Log檔案中記錄了所有Client 發送到Server的SQL Statement,你可以藉由分析general log來瞭解Server到底都是在執行哪幾類的SQL指令,例如SELECT、UPDATE或INSERT等等。要啟用此功能需要修改 MySQL Server 的系統設定檔並重新啟動MySQL:
[mysqld]
log
或是
[mysqld]
log=file_name <<<指定log檔名
The Binary Log (hostname-bin.index, hostname-bin.nnnnnn)www@slime@com@tw在這個Log檔案中記錄所有對於資料庫的修改操作,指令只有在執行完畢後才會被記錄在Binary Log中,並且是以transactional units為單位進行記錄,它主要是用來進行Replication或是Data Recovery。由於Binary Log是以二進位的格式儲存相關的資料,因此無法直接以文字編輯器觀看其內容,必須透過mysqlbinlog這支工具程式才能將其轉換為一般的文字格式。要啟用此功能需要修改 MySQL Server 的系統設定檔並重新啟動MySQL:
[mysqld]
log-bin
或是
[mysqld]
log-bin=file_name <<<指定log檔名
The Slow Query Log (hostname-slow.log)www@slime@com@tw在這個Log檔案中記錄所有的Slow Query。Slow Query的判定方式預設是指執行時間超過10秒的SQL Statement,你也可以修改long_query_time的值來改變這個判定時間。要啟用此功能需要修改 MySQL Server 的系統設定檔並重新啟動MySQL:
[mysqld]
log-slow-queries
或是
[mysqld]
log-slow-queries=file_name <<<指定log檔名
註:也可以使用log-queries-not-using-indexes來記錄所有未使用到index的query。
參考資料:
www@slime@com@tw
Paul Dubois, Stefan Hinz, Carsten Pedersen(2005), “MySQL 5.0 Certification Study Guide.”