顯示具有 DB 標籤的文章。 顯示所有文章
顯示具有 DB 標籤的文章。 顯示所有文章

2008年3月5日 星期三

MySQL 手動開關

動啟動MySQL Server-Windows作業系統www@slime@com@tw將工作目錄切換至MySQL安裝目錄中的bin資料夾(C:\Program Files\MySQL\MySQL Server 5.0\bin),然後輸入以下指令即可啟動:
_  _引用:
| mysqld (或是mysqld-nt) |
MySQL預設會將錯誤訊息(Error Message)寫入到Error Log,若你希望MySQL將錯誤訊息輸出到terminal以方便你除錯,則可以加上 \--console 選項:
 引用:
|  mysqld \--console |
若是要終止MySQL Server,則請開啟一個新的terminal視窗並輸入:
_  _引用:
| mysqladmin shutdown |
如此一來即可正常的關閉MySQL Server。雖然你也可以使用Windows提供的『工作管理員』或是直接關閉正在執行MySQL Server的terminal視窗以強迫關閉MySQL Server,但這樣子一來有可能會造成資料庫檔案的損毀,或是Server來不及將memory中的資料寫回磁碟,因此非常不建議你這麼做。
*將MySQL Server設定為Windows Service{*}{color:white}www@slime@com@tw{color}若 是你希望在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 Files{*}{color:white}www@slime@com@tw{color}

MySQL 提供三大類的 LOG。
# General Log:記錄所有Client 發送到Server的SQL Statement
# Binary Log:記錄所有對於資料庫的修改操作
# Slow Log:記錄所有的 Slow Query

註:在預設的情況下這些Log機制都是被關閉的。

*The General Query Log* (_hostname.log_){color:white}www@slime@com@tw{color}在 這個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)_{color:white}www@slime@com@tw{color}在 這個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)_{color:white}www@slime@com@tw{color}在 這個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。