溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)庫的啟動與終止方法

發(fā)布時間:2021-08-20 03:52:15 來源:億速云 閱讀:513 作者:chen 欄目:數(shù)據(jù)庫

本篇內(nèi)容介紹了“MySQL數(shù)據(jù)庫的啟動與終止方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

由于MySQL服務(wù)器具有多種安裝分發(fā),而且能夠運行在多種操作平臺之上,因此它的啟動與停止的方法也多種多樣。你可以根據(jù)實際情況使用其中的一種。在你安裝、升級或者維護(hù)系統(tǒng)時,你可能需要多次啟動和終止服務(wù)器,你需要了解啟動和終止服務(wù)器的方方面面。

直接運行守護(hù)程序

1、你可以采用的方法

一般的,你可以有以下幾種選擇啟動MySQL服務(wù)器,它們的功能和用法幾乎是相同的,所以一起在這里介紹:

直接使用MySQL守護(hù)程序mysqld啟動數(shù)據(jù)庫系統(tǒng),尤其是Win32平臺上的分發(fā),這是因為,在Win32平臺上沒有mysql.server等服務(wù)器腳本可用。

通過調(diào)用safe_mysqld腳本,它接受與mysqld相同的參數(shù),并試圖為mysqld決定正確的選項,然后選擇用那些運行它。

2、腳本或者守護(hù)程序的存放位置

對于二進(jìn)制分發(fā)的安裝,mysqld守護(hù)程序安裝在MySQL安裝目錄的bin目錄下,或者可在MySQL源代碼分發(fā)的libexec目錄下找到,缺省為/usr/local/libexec/。對于rpm分發(fā),mysqld應(yīng)該位于PATH變量決定的程序搜索路徑中,因此可以直接引用。

safe_mysqld仍舊是一個腳本,并且只存在于Unix平臺的分發(fā)中。safe_mysqld腳本安裝在MySQL安裝目錄的bin目錄下,或可在MySQL源代碼分發(fā)的scripts目錄下找到。對于rpm分發(fā),該腳本應(yīng)該位于PATH變量決定的程序搜索路徑中,因此可以直接引用。

3、為什么要使用safe_mysqld腳本

safe_mysqld接受和mysqld同樣的參數(shù),并試圖確定服務(wù)器程序和數(shù)據(jù)庫目錄的位置,然后利用這些位置調(diào)用服務(wù)器。 safe_mysqld將服務(wù)器的標(biāo)準(zhǔn)錯誤輸出重定向到數(shù)據(jù)庫目錄中的錯誤文件中,并以記錄的形式存在。啟動服務(wù)器后,safe_mysqld還監(jiān)控服務(wù)器,并在其死機時重新啟動。safe_mysqld通常用于Unix的BSD風(fēng)格的版本。

如果,你曾經(jīng)為root或在系統(tǒng)啟動程序中啟動safe_mysqld,其錯誤日志將有root擁有。如果再用非特權(quán)的用戶身份調(diào)用safe_mysqld,則可能引起“Access Denied”(即,“所有權(quán)被拒絕”)的錯誤。此時可以刪除錯誤文件在試一次。

由于safe_mysqld腳本的功能,使用safe_mysqld腳本明顯比直接啟動mysqld守護(hù)程序來得有效。

4、啟動服務(wù)器的完整過程

對于Unix平臺上的分發(fā),如果你以root或在系統(tǒng)引導(dǎo)期間啟動sqfe_mysqld,出錯日志由root擁有,這可能在你以后試圖用一個非特權(quán)用戶調(diào)用safe_mysqld時將導(dǎo)致“permission denied”(權(quán)限拒絕)錯誤,刪除出錯日志再試一下。因此建議你在啟動服務(wù)器前,首先切換到一個專門的用戶mysql。

具體方法如下:

Unix平臺

$ su mysql

$ safe_mysql & (或者 mysqld & ,不推薦)

Win32平臺

C:  mysqlin>mysqld --standalone

或者C:  mysqlin>mysqld-nt –standalone

如果你使用mysqld并且沒有把mysql安裝在標(biāo)準(zhǔn)的位置,通常需要提供—basedir選項你的數(shù)據(jù)庫的安裝位置。

$safe_mysqld --basedir=”/path/to/mysql” &(Unix平臺)

c:mysqlin>mysqld --basedir=”x:/path/to/mysql” (Win32平臺)

5、使用safe_mysqld腳本實現(xiàn)服務(wù)器的自動啟動

同樣你可以利用safe_mysqld和mysqld實現(xiàn)服務(wù)器隨操作系統(tǒng)自動啟動。對于系統(tǒng)以及BSD風(fēng)格的系統(tǒng)(FreeBSD,OpenBSD等)),通常在/etc目錄下有幾個文件在引導(dǎo)時初始化服務(wù),這些文件通常有以“rc”開頭的名字,且它有可能由一個名為“rc.local”的文件(或類似的東西),特意用于啟動本地安裝的服務(wù)。

在這樣的系統(tǒng)上,你可能將類似于下列的行加入rc.local文件中以啟動服務(wù)器(如果safe_mysqld的目錄在你的系統(tǒng)上不同,修改它即可):

if [ -x /usr/local/bin/safe_mysqld ]; then /usr/local/bin/safe_mysqld & fi

由于這樣在引導(dǎo)時啟動,將使用root身份啟動數(shù)據(jù)庫,在某些時候可能會產(chǎn)生問題和麻煩。這是你可以指定--user選項,因此可以將上面的代碼修改為:

if [ -x /usr/local/bin/safe_mysqld ]; then

/usr/local/bin/safe_mysqld --user=mysql --datadir=/path/to/data  &

fi

使用腳本mysql.server啟動關(guān)閉數(shù)據(jù)庫

對于Unix平臺上的分發(fā),比較好的辦法是使用數(shù)據(jù)庫腳本mysql.server,啟動和關(guān)閉數(shù)據(jù)庫。

1、mysql.server腳本的存放位置

mysql.server腳本安裝在MySQL安裝目錄下的share/mysqld目錄下或可以在MySQL源代碼分發(fā)的 support_files目錄下找到。對于rpm分發(fā),該腳本已經(jīng)改名mysql位于/etc/rc.d/init.d目錄中,另外在….中存在一個副本mysql.server。下文的討論對RPM分發(fā)來說,都在安裝中完成了。如果你想使用它們,你需要將它們拷貝到適當(dāng)?shù)哪夸浵隆?/p>

2、如何使用mysql.server腳本啟動停止服務(wù)器

mysql.server腳本可以被用來啟動或停止服務(wù)器,通過用start或stop參數(shù)調(diào)用它:

$ mysql.server start

$ mysql.server stop

3、mysql.server的功能簡述

在mysql.server啟動服務(wù)器之前,它把目錄改變到MySQL安裝目錄,然后調(diào)用safe_mysqld。如果你有在一個非標(biāo)準(zhǔn)的地點安裝的二進(jìn)制分發(fā),你可能需要編輯mysql.server。修改它,運行safe_mysqld前,cd到正確的目錄。

4、讓mysql.server以特定的用戶啟動服務(wù)器

如果你想要作為一些特定的用戶運行服務(wù)器,你可以改變mysql_daemon_user=root行使用其他用戶,你也能修改mysql.server把其他選項傳給safe_mysqld。

當(dāng)然你也可以利用選項文件給mysql.server腳本提供參數(shù)。
你也可以在一個全局“/etc/my.cnf”文件中增加mysql.server的選項。一個典型的“/etc/my.cnf”文件可能看起來像這樣:

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

[mysql.server]
user=mysql
basedir=/usr/local/mysql


mysql.server腳本使用下列變量:user、datadir、basedir、bindir和pid-file。

5、利用mysql.server腳本讓服務(wù)器自動啟動

mysql.server腳本的重要性在于你可以使用它配置一個隨操作系統(tǒng)自動啟動的數(shù)據(jù)庫安裝,這是一個實際的系統(tǒng)中常用的方法。

把mysql.server復(fù)制到/etc/rc.d/init.d目錄里面:

# cd /etc/rc.d/init.d
# cp /usr/local/mysql/support-files/mysql.server mysql


接著把它的屬性改為“x”(executable,可執(zhí)行)

# chmod +x mysql

最后,運行chkconfig把MySQL添加到你系統(tǒng)的啟動服務(wù)組里面去。

# /sbin/chkconfig --del mysql
# /sbin/chkconfig --add mysql


你也可以這樣做,手工建立鏈接:

#cd /etc/rc.d/rc3.d       (根據(jù)你的運行級不同而不同,可以是rc5.d)
#ln –s ../init.d/mysql S99mysql


在系統(tǒng)啟動期間,S99mysql腳本利用start參數(shù)自動啟動。

使用mysqladmin實用程序關(guān)閉、重啟數(shù)據(jù)庫

日常維護(hù)數(shù)據(jù)庫,經(jīng)常需要關(guān)閉或者重新啟動數(shù)據(jù)庫服務(wù)器。mysql.server stop只能用于關(guān)閉數(shù)據(jù)庫系統(tǒng),并不方便,而且mysql.server腳本用特定用戶身份啟動服務(wù)器,因此使用該教本需要超級用戶的權(quán)限。相比之下 mysqladmin就方便的多,并且適用于MySQL所有類型、平臺的安裝。

關(guān)閉數(shù)據(jù)庫服務(wù)器

mysqladmin shutdown

重啟數(shù)據(jù)庫服務(wù)器

mysqladmin reload

獲得幫助

mysqladmin –help

mysqladmin實用程序非常有使用價值,仔細(xì)閱讀幫助輸出,你會得到更多的用法。

如果出現(xiàn)下面的錯誤:

mysqladmin: connect to server at localhost failed
error: Access denied for user:  (Using password: YES)

表示你需要一個可以正常連接的用戶,請指定-u -p選項,例如,你現(xiàn)在可以:

shell>mysqladmin -u root -p shutdown
Enter Password:***********


輸入你修改過的密碼即可。

啟動或停止NT平臺上的系統(tǒng)服務(wù)

上面幾節(jié)介紹了Unix平臺上使數(shù)據(jù)庫服務(wù)器自動啟動的方法,而在(NT)平臺上為了讓MySQL自動啟動,你需要將MySQL服務(wù)器安裝成NT系統(tǒng)的一種服務(wù)。

1、將MySQL安裝成系統(tǒng)服務(wù)

對于NT,服務(wù)器名字是d-nt。

C:mysqlin> mysqld-nt --install


(你可以在 NT 上使用mysqld或mysqld-opt服務(wù)器,但是那些不能作為一種服務(wù)啟動或使用命名管道。)

2、修改選項文件

如果你的mysql沒有安裝缺省的位置c:mysql,那么因為數(shù)據(jù)庫將無法確定數(shù)據(jù)庫目錄的位置,而無法啟動。這種情況下,你需要提供一個全局的選項文件c:my.cnf。將安裝目錄中的my-example.cnf文件拷貝到c盤根目錄下。修改或加入:

[mysqld]
basedir = x:/path/to/mysql/


3、啟動、停止服務(wù)器的方法

你可以用下列命令啟動和停止MySQL服務(wù):

NET START mysql
NET STOP mysql


注意在這種情況下,你不能對mysqld-nt使用任何其他選項!你需要使用選項文件提供參數(shù)??梢栽谶x項文件中提供合適的參數(shù)。

使用選項文件提供服務(wù)器的參數(shù)

本節(jié)介紹守護(hù)程序需要的比較重要的選項。

對于全局選項文件(windows:c:/my.cnf 或者 unix:/etc/my.cnf),比較重要的選項有:

user 運行守護(hù)程序的用戶,如果你使用mysql.server,并且在[mysql.server]中指定了user,那么這個選項沒有必要。

log-update=file 更新日志名,對于恢復(fù)數(shù)據(jù)庫有重要意義,數(shù)據(jù)庫服務(wù)器將生成file.n為名的更新日志文件。

-l, --log[=fil

“MySQL數(shù)據(jù)庫的啟動與終止方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI