top
Loading...
2.9.2.2.自動啟動和停止MySQL
2.9.2.2. 自動啟動和停止MySQL

通常你可以用以下方法啟動mysqld服務器:

·         直接調用mysqld。該方法適合任何平臺。

·         作為Windows服務運行MySQL服務器。可以在支持服務的Windows版本(例如 NT2000XP2003)上實現。可以將服務設置為在Windows 啟動時自動啟動服務器,或根據需要啟動的手動服務。相關說明參見2.3.12節,“以Windows服務方式啟動MySQL”。

·         調用mysqld_safe,可以為mysqld確定正確的選項然后使用這些選項來運行。該腳本適用于基于BSD Unix的系統。請參見5.1.3節,“mysqld_safe:MySQL服務器啟動腳本”。

·         調用mysql.server。該腳本主要用于使用系統V-style運行目錄的系統的啟動和關閉,它通常安裝到mysql下。mysql.server腳本調用mysqld_safe來啟動服務器。請參見5.1.4節,“mysql.server:MySQL服務器啟動腳本”。

·         你可以在Mac OS X上安裝一個單獨的MySQL Startup Item安裝包來使系統啟動時自動啟動MySQLStartup Item調用mysql.server來啟動服務器。詳細介紹參見 2.5節,“在Mac OS X上安裝MySQL”。

mysql.servermysqld_safe腳本和Mac OS X Startup Item可以用來手動啟動服務器,或自動啟動系統。mysql.serverStartup Item還可以用來停止服務器。

mysql.server腳本可以被用來啟動或停止服務器,通過用startstop參數調用它:

shell> mysql.server start
shell> mysql.server stop

mysql.server啟動服務器之前,它把目錄改變到MySQL安裝目錄,然后調用safe_mysqld。如果你想要作為一些特定的用戶運行服務器,在/etc/my.cnf選項文件的[mysqld]組增加相應user選項,如本節后面所示。(如果你有在一個非標準的地點安裝的二進制分發版,你可能需要編輯mysql.server。修改它,運行safe_mysqld前,cd到正確的目錄。注意如果你修改mysql.server,那么某個時候升級MySQL時,你的修改版本將被覆蓋,因此你應該做一個你可重新安裝的編輯過的版本的拷貝)

mysql.server stop通過向服務器發出一個信號停止它。你可手動執行mysqladmin shutdown關閉服務器。

要想在服務器上自動啟動和停止MySQL,應在/etc/rc * 文件中適當的地方增加啟動、停止命令。

如果你使用Linux服務器RPM安裝軟件包(MySQL-server-VERSION.rpm)mysql.server腳本安裝在/etc/init.d目錄中,名為MySQL。你不需要手動安裝它。關于Linux RPM軟件包的詳細信息參見2.4節,“在Linux下安裝MySQL”。

一些供應商提供的RPM軟件包安裝的啟動腳本名字不同,例如mysqld

如果從不自動安裝mysql.server的源碼分發版或二進制分發版格式來安裝MySQL,可以手動安裝它。可以在MySQL安裝目錄下或MySQL 源碼樹的support-files目錄中找到腳本。

要想手動安裝mysql.server,用名稱mysql將它復制到/etc/init.d目錄,然后將它變為可執行文件。只需要將位置更改為mysql.serveris所在并執行這些命令的相應目錄:

shell> cp mysql.server /etc/init.d/mysql
shell> chmod +x /etc/init.d/mysql

舊的Red Hat系統使用/etc/rc.d/init.d目錄,不使用/etc/init.d。相應地調節前面的命令。也可以首先創建指向/etc/rc.d/init.d的符號連接/etc/init.d

shell> cd /etc
shell> ln -s rc.d/init.d .

安裝腳本后,用來激活它以便在系統啟動時運行所需要的命令取決于你的操作系統。在Linux中,你可以使用chkconfig

shell> chkconfig --addMySQL

在一些Linux系統中,還需要下面的命令來完全激活MySQL腳本:

shell> chkconfig --level 345MySQL on

FreeBSD中,啟動腳本通常應當位于/usr/local/etc/rc.d/。手冊的rc(8)頁內說明只有該目錄腳本的基本名匹配*.sh shell文件名模式,腳本才會執行。目錄內的其它文件或目錄將被忽略掉。換句話說,在FreeBSD中,應當將mysql.server腳本安裝為 /usr/local/etc/rc.d/mysql.server.sh以便自動啟動。

前面設置的另一種情況是,一些操作系統啟動時也使用/etc/rc.local/etc/init.d/boot.local 來啟動其它服務。要想使用該方法啟動MySQL,你可以在相應啟動文件后面追加一條命令:

/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'

對于其它系統,查閱操作系統的文檔來查看安裝啟動腳本的方法。

你也可以在一個全局/etc/my.cnf文件中增加mysql.server的選項。一個典型的“/etc/my.cnf文件可能看起來像這樣:

[mysqld]
datadir=/usr/local/mysql/var
socket=/var/tmp/mysql.sock
port=3306
user=mysql
 
[mysql.server]
basedir=/usr/local/mysql

mysql.server腳本使用下列變量:basedirdatadirpid-file。定義后,必須將它們放到選項文件中,不能放到命令行。mysql.server只識別startstop命令行參數。

下面的表顯示了服務器和每個啟動腳本從選項文件讀取哪個選項組:

腳本

選項組

mysqld

[mysqld], [server], [mysqld-major-version]

mysql.server

[mysqld], [mysql.server], [server]

mysqld_safe

[mysqld], [server], [mysqld_safe]

[mysqld-major-version]意味著名為[mysqld-5.0][mysqld-5.1]用于版本為5.0.x5.1.x等的服務器。該特性可以用來指定只被給定發布系列的服務器讀取的選項。

為了向后兼容,mysql.server還讀取[mysql_server]組,mysqld_safe還讀取[safe_mysqld]組。然而,當使用MySQL 5.1時,你應當更新選項文件,使用[mysql.server][mysqld_safe]組。

參見4.3.2節,“使用選項文件”。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/installing.html
北斗有巢氏 有巢氏北斗