萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL數據庫系統的常規管理介紹

MySQL數據庫系統的常規管理介紹

  在運行數據庫系統時, MySQL的使用相當簡單,且進行MySQL安裝和使用所需的工作也很少。然而,不論您是什麼級別的專家,MySQL的安裝程序都不能自動運行。必須有人來監視它以確保它能順利和有效地運行,有時還必須知道當問題出現時應該做什麼。而MySQL的管理有自己獨特的需求,本文將幫助您熟悉這些內容。

  管理職責概述

  MySQL數據庫系統由幾部分組成。您應該熟悉這些組成部分的內容和每個部分的目的。這需要您了解所管理系統的特征以及幫助您進行管理的可用工具。如果您花時間去了解了要監督的內容,工作將會變得非常容易。為此,您應當使自己熟悉MySQL的以下幾個方面:

  MySQL服務器。服務器mysql執行數據庫和表的所有操作。safe_mysqld 是一個相關的程序,它用於啟動服務器、監控服務器和重新啟動服務器。

  MySQL客戶機和實用程序。有幾個MySQL程序,可用來幫助您與服務器進行通信和執行管理的任務。其中最重要的幾個是:

  mysql,一個交互式程序,允許將SQL 語句發布到服務器上並浏覽其結果。

  mysqladmin,一個管理程序,允許執行諸如關閉服務器以及創建或刪除數據庫的工作。如果服務器運行不正常,還可以用mysqladmin 來檢查服務器的狀態。

  isamchk 和myisamchk,這些實用程序幫助您完成表的分析和優化,以及在表損壞時進行崩潰恢復。

  mysqldump,一個工具,用於備份數據庫或將數據庫拷貝到另一個服務器中。

  服務器的語言,SQL。有些管理職責只能用mysqladmin 的命令行實用程序來完成,但是,如果您還能用服務器自己的語言來同服務器進行對話,那就更好了。作為簡單的例子,您可能需要查找用戶特權不按您所希望的方式進行工作的原因。沒有任何替代品能夠參與並與服務器直接通信。可通過使用mysql客戶機程序發布能夠檢驗授權表的SQL 查詢來做到這一點。如果您的MySQL版本還未引入GRANT 語句,則需要使用mysql首先設置每個用戶的權限。

  如果您不知道SQL 的任何內容,至少必須對SQL要有基本的了解。缺乏對SQL 的熟悉只會給您帶來困惑,而在學習SQL 上所花費的時間將會得到成倍的回報。真正掌握SQL 要花費一些時間,但掌握基本技能則很快。如果您需要了解對SQL 和mysql命令行客戶機的介紹內容,請參閱第1章的“MySQL和SQL 介紹”

  MySQL數據目錄。數據目錄是服務器存儲其數據庫和狀態文件的所在。了解數據目錄的結構及內容是很重要的,您可以知道服務器是怎樣使用文件系統來表現數據庫和表的,以及像日志這樣的文件的存放位置和其內容。還應該了解在文件系統中管理磁盤空間分配的選項,當發現放置數據目錄的文件系統過滿時可以進行調整。

  常規管理

  常規管理主要指處理mysqld、MySQL服務器和提供給用戶的訪問服務器的操作。在履行該職責時,下列的任務是最重要的:

  服務器的啟動和關閉。您應該能夠從命令行中手工啟動和終止服務器,並且在系統啟動和關閉時知道怎樣進行自動啟動和關閉。如果服務器崩潰了或啟動不正常的話,了解怎樣使服務器再次運行也是重要的。

  用戶賬號維護。應該了解MySQL用戶和UNIX 或Windows 用戶之間的區別。應該知道怎樣通過指定哪些用戶可以連接到服務器和從哪裡進行連接來建立MySQL用戶賬號。還應該給新的用戶建議合適的連接參數,以使他們成功地連接到服務器。弄清應怎樣建立賬號不是用戶們的工作。

  日志文件維護。應該了解可以維護的日志文件的類型,以及在何時和怎樣完成日志文件的維護。日志的循環和終止對於防止日志填滿文件系統是必要的。

  數據庫備份和拷貝。數據庫備份對服務器系統的崩潰是至關重要的。應該能夠將數據庫恢復到崩潰時的狀態,以便盡可能地減少數據的丟失。請注意,數據庫備份與常規的系統備份不同,例如,可通過使用UNIX 的dump 程序來進行。與數據庫表相對應的文件在系統備份發生時隨服務器活動而變化,因此恢復那些文件將使您的表內部不一致。mysqldump 程序將產生對恢復數據庫更有用的備份文件,並允許在不關閉服務器的狀態下創建備份。

  如果決定在更快的主機上運行數據庫,或者想復制數據庫,則需要拷貝其內容到另一台機器上。如果需要的話,應該了解進行這項操作的過程。數據庫文件是依賴於系統的,因此您不能只拷貝這些文件。

  服務器優化。用戶想要服務器以最佳狀態運行。提高服務器運行性能的最簡單方法是購買更多的內存或使磁盤速度更快。但是,這種直截了當的技術並不能代替對服務器工作的了解。應該了解優化服務器操作所用的參數以及如何將這些參數應用在您的環境中。在某些站點中,大多數查詢都是檢索。而在另一些站點,插入和更新操作占據著優勢。選擇對哪些參數進行修改將受到站點查詢的影響。

  多服務器。在某些環境中運行多服務器是有用的。如果保留當前的成品安裝程序在適當的位置,或者為不同的用戶組提供較好的保密性(後者與ISP 尤其相關),則可以測試新的MySQL版本。對於這些情形,您應該了解怎樣建立多個同時發生的安裝。

  MySQL更新。由於新的MySQL版本頻繁出現,應該知道怎樣始終跟上這些版本以便利用故障修復和新的特性。需要了解不進行版本升級的理由,並且掌握怎樣在穩定版本和開發者版本之間進行選擇。

  安全性

  當運行MySQL安裝程序時,確保用戶所存儲的數據的安全性是很重要的。MySQL管理員有責任控制對數據目錄和服務器的訪問,並應了解以下的問題:

  文件系統的安全性。UNIX 機器可能會使幾個用戶賬號成為宿主賬號,而這些賬號都沒有與MySQL相關的管理職責。確保這些賬號沒有對數據目錄的訪問是重要的。因為這樣可以防止它們通過拷貝數據庫表或移動數據庫表,或者通過能夠讀取包含敏感信息的日志文件來損壞文件系統級的數據。您應該知道如何建立MySQL服務器的UNIX用戶賬號,如何建立該用戶所擁有的數據目錄,以及如何啟動服務器以便利用該用戶的權限運行。

  服務器的安全性。必須了解MySQL的安全系統是怎樣進行工作的,以便在建立用戶賬號時授予適當的權限。通過網絡連接到服務器的用戶只允許做他們應該做的事情。您不要由於對安全系統的錯誤理解,將超級用戶的訪問權授予匿名用戶。

  數據庫修復和維護

  所有的MySQL管理員都希望避免處理破壞的或毀壞的數據庫表。但是願望不能代替現實。以下幾個步驟可以使您在問題發生時減少風險並學會怎樣處理問題:

  崩潰恢復。如果盡管您做了最好的努力但災難還是降臨了,則應該知道如何修復或恢復表。很少會用到崩潰恢復,但當使用它時,它是一個令人討厭的、高強度的工作(尤其是當您正在忙亂地修正某些內容時,電話鈴響了或有人敲門)。然而,您必須知道怎樣處理它,否則用戶將會很不高興。要熟悉isamchk 和myisamchk 的表的檢查以及修復能力;要知道如何盡可能地從備份文件中恢復,並且知道怎樣使用該更新日志來恢復備份之後所產生的修改。

  預防性維護。預防性維護的常規程序應適當地進行安置,以使數據庫破壞和毀壞的可能性最小化。當然,您還要進行備份,但是,預防性維護將減少使用這些備份的機會。

  以上綜合地概括了作為MySQL管理員應承擔的職責。

copyright © 萬盛學電腦網 all rights reserved