MySQL認證教程:自動運行和停止MySQL
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢MySQL認證教程:自動運行和停止MySQL,如果安裝一個實用的數據庫系統,那么讓每次系統重新啟動時數據庫服務器自動運行是一個好主意。
一、我們現在可以由兩種方法啟動數據庫:
1、 可以用safe_mysqld腳本來啟動數據庫:
$ safe_mysqld &
safe_mysqld腳本安裝在MySQL安裝目錄的bin目錄下,或可在MySQL源代碼分發的scripts目錄下找到。
2、mysql.server腳本可以被用來啟動或停止服務器,通過用start或stop參數調用它:
$ mysql.server start
$mysql.server stop
mysql.server stop通過向服務器發出一個信號停止它。你可手工執行mysqladmin shutdown關閉服務器。
mysql.server可在MySQL二進制分發安裝目錄下的“share/mysql”目錄里找到,或在MySQL源代碼樹的“support-files”目錄下找到。
二、讓服務器以指定的Unix用戶執行
方法一:修改mysql.server腳本
當然,這樣只對使用mysql.server腳本啟動系統的方法其作用。
在mysql.server啟動服務器之前,它把目錄改變到MySQL安裝目錄,然后調用safe_mysqld。如果你有在一個非標準的地點安裝的二進制分發,你可能需要編輯mysql.server。修改它,運行safe_mysqld前,cd到正確的目錄。如果你想要作為一些特定的用戶運行服務器,你可以改變mysql_daemon_user=root行使用其他用戶,你也能修改mysql.server把其他選項傳給safe_mysqld。
方法二:使用選項文件
通過使用選項文件,你也可以也可以避免修改mysql.server腳本。使用選項文件也可以使safe_mysqld腳本通過特定用戶啟動mysqld守護程序。
你也可以在一個全局“/etc/my.cnf”文件中增加mysql.server的選項。一個典型的“/etc/my.cnf”文件的一部分可能看起來像這樣:
[mysql.server]
user=mysql
basedir=/usr/local/mysql
mysql.server腳本使用下列變量:user、datadir、basedir、bindir和pid-file。
當然這樣只對mysql.server腳本起作用,可以把user選項加到[mysqld]段中,由于這兩個腳本都調用mysqld守護程序,因此,這樣可以從特定用戶啟動。
[mysqld]
user=mysql
basedir=/usr/local/mysql
mysqld守護程序接受的選項可以由命令mysqld –help查看。
說明,修改了mysql.server腳本或者選項文件后,你可能注意到我們沒有提供用戶的密碼,所以如果你做了如上的修改,那么就不可以從普通帳戶啟動服務器,因為只有root用戶才有切換到任意用戶的權力。
三、讓MySQL隨系統啟動而自動啟動
當你開始使用MySQL作為生產應用時,你可能想要增加這些啟動并且停止命令到在你的“/etc/rc * 文件中適當的地方。注意如果你修改mysql.server,那么如果某個時候你升級MySQL時,你的修改版本將被覆蓋,因此你應該做一個你可重新安裝的編輯過的版本的拷貝。
下面簡述一下在Red Hat Linux系統中的設置方法:
1、修改mysql.server,把它復制到/etc/rc.d/init.d目錄里面:
# cd /etc/rc.d/init.d
# cp /usr/local/mysql/support-files/mysql.server mysql
2、接著把它的屬性改為“x”(executable,可執行)
# chmod +x mysql
3、最后,運行chkconfig把MySQL添加到你系統的啟動服務組里面去。
# /sbin/chkconfig --del mysql
# /sbin/chkconfig --add mysql
說明
如果你的系統使用“/etc/rc.local”啟動外部腳本,你也可以添加下列到其中:
二進制分發:
/bin/sh -c 'cd /usr/local/mysql ; ./bin/safe_mysqld &'
源代碼分發:
/bin/sh -c 'cd /usr/local/ ; ./bin/safe_mysqld &'
當然,作者更推薦使用mysqlv.server的方法,因為這樣可以提供系統更好的整合性。