


MySQL數(shù)據(jù)庫系統(tǒng)的常規(guī)管理介紹
在運行數(shù)據(jù)庫系統(tǒng)時, MySQL的使用相當簡單,且進行MySQL安裝和使用所需的工作也很少。然而,不論您是什么級別的專家,MySQL的安裝程序都不能自動運行。必須有人來監(jiān)視它以確保它能順利和有效地運行,有時還必須知道當問題出現(xiàn)時應(yīng)該做什么。而MySQL的管理有自己獨特的需求,本文將幫助您熟悉這些內(nèi)容。
管理職責(zé)概述
MySQL數(shù)據(jù)庫系統(tǒng)由幾部分組成。您應(yīng)該熟悉這些組成部分的內(nèi)容和每個部分的目的。這需要您了解所管理系統(tǒng)的特征以及幫助您進行管理的可用工具。如果您花時間去了解了要監(jiān)督的內(nèi)容,工作將會變得非常容易。為此,您應(yīng)當使自己熟悉MySQL的以下幾個方面:
MySQL服務(wù)器。服務(wù)器mysql執(zhí)行數(shù)據(jù)庫和表的所有操作。safe_mysqld 是一個相關(guān)的程序,它用于啟動服務(wù)器、監(jiān)控服務(wù)器和重新啟動服務(wù)器。
MySQL客戶機和實用程序。有幾個MySQL程序,可用來幫助您與服務(wù)器進行通信和執(zhí)行管理的任務(wù)。其中最重要的幾個是:
mysql,一個交互式程序,允許將SQL 語句發(fā)布到服務(wù)器上并瀏覽其結(jié)果。
mysqladmin,一個管理程序,允許執(zhí)行諸如關(guān)閉服務(wù)器以及創(chuàng)建或刪除數(shù)據(jù)庫的工作。如果服務(wù)器運行不正常,還可以用mysqladmin 來檢查服務(wù)器的狀態(tài)。
isamchk 和myisamchk,這些實用程序幫助您完成表的分析和優(yōu)化,以及在表損壞時進行崩潰恢復(fù)。
mysqldump,一個工具,用于備份數(shù)據(jù)庫或?qū)?shù)據(jù)庫拷貝到另一個服務(wù)器中。
服務(wù)器的語言,SQL。有些管理職責(zé)只能用mysqladmin 的命令行實用程序來完成,但是,如果您還能用服務(wù)器自己的語言來同服務(wù)器進行對話,那就更好了。作為簡單的例子,您可能需要查找用戶特權(quán)不按您所希望的方式進行工作的原因。沒有任何替代品能夠參與并與服務(wù)器直接通信。可通過使用mysql客戶機程序發(fā)布能夠檢驗授權(quán)表的SQL 查詢來做到這一點。如果您的MySQL版本還未引入GRANT 語句,則需要使用mysql首先設(shè)置每個用戶的權(quán)限。
如果您不知道SQL 的任何內(nèi)容,至少必須對SQL要有基本的了解。缺乏對SQL 的熟悉只會給您帶來困惑,而在學(xué)習(xí)SQL 上所花費的時間將會得到成倍的回報。真正掌握SQL 要花費一些時間,但掌握基本技能則很快。如果您需要了解對SQL 和mysql命令行客戶機的介紹內(nèi)容,請參閱第1章的“MySQL和SQL 介紹”
MySQL數(shù)據(jù)目錄。數(shù)據(jù)目錄是服務(wù)器存儲其數(shù)據(jù)庫和狀態(tài)文件的所在。了解數(shù)據(jù)目錄的結(jié)構(gòu)及內(nèi)容是很重要的,您可以知道服務(wù)器是怎樣使用文件系統(tǒng)來表現(xiàn)數(shù)據(jù)庫和表的,以及像日志這樣的文件的存放位置和其內(nèi)容。還應(yīng)該了解在文件系統(tǒng)中管理磁盤空間分配的選項,當發(fā)現(xiàn)放置數(shù)據(jù)目錄的文件系統(tǒng)過滿時可以進行調(diào)整。
常規(guī)管理
常規(guī)管理主要指處理mysqld、MySQL服務(wù)器和提供給用戶的訪問服務(wù)器的操作。在履行該職責(zé)時,下列的任務(wù)是最重要的:
服務(wù)器的啟動和關(guān)閉。您應(yīng)該能夠從命令行中手工啟動和終止服務(wù)器,并且在系統(tǒng)啟動和關(guān)閉時知道怎樣進行自動啟動和關(guān)閉。如果服務(wù)器崩潰了或啟動不正常的話,了解怎樣使服務(wù)器再次運行也是重要的。
用戶賬號維護。應(yīng)該了解MySQL用戶和UNIX 或Windows 用戶之間的區(qū)別。應(yīng)該知道怎樣通過指定哪些用戶可以連接到服務(wù)器和從哪里進行連接來建立MySQL用戶賬號。還應(yīng)該給新的用戶建議合適的連接參數(shù),以使他們成功地連接到服務(wù)器。弄清應(yīng)怎樣建立賬號不是用戶們的工作。
日志文件維護。應(yīng)該了解可以維護的日志文件的類型,以及在何時和怎樣完成日志文件的維護。日志的循環(huán)和終止對于防止日志填滿文件系統(tǒng)是必要的。
數(shù)據(jù)庫備份和拷貝。數(shù)據(jù)庫備份對服務(wù)器系統(tǒng)的崩潰是至關(guān)重要的。應(yīng)該能夠?qū)?shù)據(jù)庫恢復(fù)到崩潰時的狀態(tài),以便盡可能地減少數(shù)據(jù)的丟失。請注意,數(shù)據(jù)庫備份與常規(guī)的系統(tǒng)備份不同,例如,可通過使用UNIX 的dump 程序來進行。與數(shù)據(jù)庫表相對應(yīng)的文件在系統(tǒng)備份發(fā)生時隨服務(wù)器活動而變化,因此恢復(fù)那些文件將使您的表內(nèi)部不一致。mysqldump 程序?qū)a(chǎn)生對恢復(fù)數(shù)據(jù)庫更有用的備份文件,并允許在不關(guān)閉服務(wù)器的狀態(tài)下創(chuàng)建備份。
如果決定在更快的主機上運行數(shù)據(jù)庫,或者想復(fù)制數(shù)據(jù)庫,則需要拷貝其內(nèi)容到另一臺機器上。如果需要的話,應(yīng)該了解進行這項操作的過程。數(shù)據(jù)庫文件是依賴于系統(tǒng)的,因此您不能只拷貝這些文件。
服務(wù)器優(yōu)化。用戶想要服務(wù)器以最佳狀態(tài)運行。提高服務(wù)器運行性能的最簡單方法是購買更多的內(nèi)存或使磁盤速度更快。但是,這種直截了當?shù)募夹g(shù)并不能代替對服務(wù)器工作的了解。應(yīng)該了解優(yōu)化服務(wù)器操作所用的參數(shù)以及如何將這些參數(shù)應(yīng)用在您的環(huán)境中。在某些站點中,大多數(shù)查詢都是檢索。而在另一些站點,插入和更新操作占據(jù)著優(yōu)勢。選擇對哪些參數(shù)進行修改將受到站點查詢的影響。
多服務(wù)器。在某些環(huán)境中運行多服務(wù)器是有用的。如果保留當前的成品安裝程序在適當?shù)奈恢茫蛘邽椴煌挠脩艚M提供較好的保密性(后者與ISP 尤其相關(guān)),則可以測試新的MySQL版本。對于這些情形,您應(yīng)該了解怎樣建立多個同時發(fā)生的安裝。
MySQL更新。由于新的MySQL版本頻繁出現(xiàn),應(yīng)該知道怎樣始終跟上這些版本以便利用故障修復(fù)和新的特性。需要了解不進行版本升級的理由,并且掌握怎樣在穩(wěn)定版本和開發(fā)者版本之間進行選擇。
安全性
當運行MySQL安裝程序時,確保用戶所存儲的數(shù)據(jù)的安全性是很重要的。MySQL管理員有責(zé)任控制對數(shù)據(jù)目錄和服務(wù)器的訪問,并應(yīng)了解以下的問題:
文件系統(tǒng)的安全性。UNIX 機器可能會使幾個用戶賬號成為宿主賬號,而這些賬號都沒有與MySQL相關(guān)的管理職責(zé)。確保這些賬號沒有對數(shù)據(jù)目錄的訪問是重要的。因為這樣可以防止它們通過拷貝數(shù)據(jù)庫表或移動數(shù)據(jù)庫表,或者通過能夠讀取包含敏感信息的日志文件來損壞文件系統(tǒng)級的數(shù)據(jù)。您應(yīng)該知道如何建立MySQL服務(wù)器的UNIX用戶賬號,如何建立該用戶所擁有的數(shù)據(jù)目錄,以及如何啟動服務(wù)器以便利用該用戶的權(quán)限運行。
服務(wù)器的安全性。必須了解MySQL的安全系統(tǒng)是怎樣進行工作的,以便在建立用戶賬號時授予適當?shù)臋?quán)限。通過網(wǎng)絡(luò)連接到服務(wù)器的用戶只允許做他們應(yīng)該做的事情。您不要由于對安全系統(tǒng)的錯誤理解,將超級用戶的訪問權(quán)授予匿名用戶。
數(shù)據(jù)庫修復(fù)和維護
所有的MySQL管理員都希望避免處理破壞的或毀壞的數(shù)據(jù)庫表。但是愿望不能代替現(xiàn)實。以下幾個步驟可以使您在問題發(fā)生時減少風(fēng)險并學(xué)會怎樣處理問題:
崩潰恢復(fù)。如果盡管您做了最好的努力但災(zāi)難還是降臨了,則應(yīng)該知道如何修復(fù)或恢復(fù)表。很少會用到崩潰恢復(fù),但當使用它時,它是一個令人討厭的、高強度的工作(尤其是當您正在忙亂地修正某些內(nèi)容時,電話鈴響了或有人敲門)。然而,您必須知道怎樣處理它,否則用戶將會很不高興。要熟悉isamchk 和myisamchk 的表的檢查以及修復(fù)能力;要知道如何盡可能地從備份文件中恢復(fù),并且知道怎樣使用該更新日志來恢復(fù)備份之后所產(chǎn)生的修改。
預(yù)防性維護。預(yù)防性維護的常規(guī)程序應(yīng)適當?shù)剡M行安置,以使數(shù)據(jù)庫破壞和毀壞的可能性最小化。當然,您還要進行備份,但是,預(yù)防性維護將減少使用這些備份的機會。
以上綜合地概括了作為MySQL管理員應(yīng)承擔的職責(zé)。
關(guān)鍵字:MySQL、數(shù)據(jù)庫、服務(wù)器
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認iptable規(guī)則詳解