資源描述:
《mysql服務器的啟動與停止--》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、MySQL服務器的啟動與停止>> 一、以非特權(quán)用戶運行MySQL服務器 在討論如何啟動MySQL服務器之前,讓我們考慮一下應該以什么用戶身份運行MySQL服務器。服務器可以手動或自動啟動。如果你手動啟動它,服務器以你登錄Unix(Linux)的用戶身份啟動,即如果你用paul登錄Unix并啟動服務器,它用paul運行;如果你用su命令切換到root,然后運啟動服務器,則它以root運行。然而,大多數(shù)情況下你可能不想手動啟動服務器,最有可能是你安排MySQL服務器在系統(tǒng)引導時自動啟動,作為標準引導過程的一部分,在Unix下,該引導過程由系統(tǒng)的Unix用戶root執(zhí)行
2、,并且任何在該過程中運行的進程均以root權(quán)限運行。 你應該牢記MySQL服務器啟動過程的兩個目標: 你想讓服務器以某個非root用戶運行。一般地,你想限制任何運行進程的能力,除非確實需要root權(quán)限,而MySQL不需要?! ∧阆胱尫掌魇冀K以同一個用戶運行,此時用一個用戶而其他時候以另一個不同的用戶運行服務器是很不方便的,這造成了為文件和目錄以具有不同屬主的數(shù)據(jù)目錄下被創(chuàng)建,并可能導致服務器不能訪問數(shù)據(jù)庫或表,這看你以哪個用戶運行。統(tǒng)一用同一個用戶運行服務器是你避免這個問題?! ∫粋€普通的非特權(quán)用戶運行服務器,按照下列步驟: 選擇一個用于運行服務器的用戶,m
3、ysqld可以用任何用戶運行。但在概念上較清晰的是為MySQL操作創(chuàng)建一個單獨的用戶。你也可以特別為MySQL選擇一個用戶組。本文使用mysqladm和mysqlgrp分別作為用戶名和用戶組名?! ∪绻阋言谧约旱馁~號下安裝好了MySQL且沒有系統(tǒng)上的特殊管理權(quán)限,你將可能在你自己的用戶ID下運行服務器。在這種情況下,用你自己的登錄名和用戶組代替mysqladm和mysqlgrp?! ∪绻阍赗edHatLinux上用rpm文件安裝MySQL,該安裝將自動創(chuàng)建一個名為mysql的賬號,用該賬號代替mysqladm?! ∪绻匾孟到y(tǒng)通常的創(chuàng)建用戶的過程創(chuàng)建服務器賬號
4、,你需要用root做它?! ∪绻掌髟谶\行,停止它?! ⌒薷臄?shù)據(jù)目錄和任何子目錄和文件的屬主,這樣使得mysqladm用戶擁有它們。例如,如果數(shù)據(jù)目錄是/usr/local/var,你可以如下設置mysqladm的屬主(你需要以root運行這些命令): #cd/usr/local/var#choysqladm.mysqlgrp 修改數(shù)據(jù)目錄和任何子目錄和文件的權(quán)限,使得它們只能由mysqladm用戶訪問。如果數(shù)據(jù)目錄是/usr/local/var,你可以設置由mysqladm擁有的任何東西: #cd/usr/local/var#chmod-Rgo-rysqla
5、dm或root登錄時啟動服務器,在后者,確定指定--user=mysqladm選項,使服務器能將其用戶ID切換到mysqladm(同時也適用于系統(tǒng)啟動過程)?! ?-user選項在MySQL3.22中引入,如果你有老版本,你可以使用su命令告訴系統(tǒng)在以root運行時在特定的用戶下運行服務器?! 《?、啟動服務器的方法 在我們確定了用于運行服務器的賬號后,你可以選擇如何安排啟動服務器。你可以從命令行手動或在系統(tǒng)引導過程中自動地運行它。對于啟動服務器由三種主要方法:直接調(diào)用mysqld?! ∵@可能是最不常用的方法,建議不要多使用,因此本文不詳細介紹?! ≌{(diào)用safe_my
6、sqld腳本?! afe_mysqld試圖確定服務器程序和數(shù)據(jù)目錄的位置。然后用反映這些值的選項調(diào)用服務器。safe_mysqld將標準出錯設備從服務器重定位到數(shù)據(jù)目錄下的一個出錯文件,使得有它的一條記錄。在啟動服務器后,safe_mysqld也監(jiān)視它并且如果它死掉則重啟它。safe_mysqld常用于BSD風格的Unix系統(tǒng)?! ∪绻阋詒oot或在系統(tǒng)引導期間啟動sqfe_mysqld,出錯日志由root擁有,這可能在你以后試圖用一個非特權(quán)用戶調(diào)用safe_mysqld時將導致permissiondenied(權(quán)限拒絕)錯誤,刪除出錯日志再試一下?! ≌{(diào)用mys
7、ql.server腳本?! ∵@個腳本通過有意用于SystemV的啟動和停止系統(tǒng)上的safe_mysqld.mysql.server來啟動服務器,該系統(tǒng)包含幾個包含在機器進入或退出一個給定運行級別時被點用的腳本目錄。它可以用一個start或stop參數(shù)點用以表明你是想啟動還是想停止服務器?! afe_mysqld腳本安裝在MySQL安裝目錄的bin目錄下,或可在MySQL源代碼分發(fā)的scripts目錄下找到。mysql.server腳本安裝在MySQL安裝目錄下的share/mysqld目錄下或可以在MySQL源代碼分發(fā)的support_files目