MySQL管理介紹

來源:互聯網
上載者:User
mysql    在運行資料庫系統時, MySQL的使用相當簡單,且進行MySQL安裝和使用所需的工作也很少。MySQL的簡單性可能就是它極為普及的原因,尤其是在非程式員人群中的普及。當然,它對於訓練有素的電腦專業人員也是有協助的,但肯定不是對運行一個成功的MySQL安裝程式的需求。
    然而,不論您是什麼層級的專家, MySQL的安裝程式都不能自動運行。必須有人來監視它以確保它能順利和有效地運行,有時還必須知道當問題出現時應該做什麼。如果問題偶然地落到了您的頭上,要想確保MySQL的正常,應繼續閱讀本書。
    在本書的第三部分中,我們將討論關於MySQL管理的各個方面。本章給出了您應當瞭解的,並包含在管理MySQL安裝程式中的有關職責內容的概述,還提供了對這些職責的簡單描述,並在後面的幾章中給出執行它們的指導。
    如果您是一位新手或毫無經驗的MySQL管理員,可千萬別讓本章出現的冗長的職責清單嚇著。下面小節中所列出的每個任務都是重要的,但是,您不需要馬上學習它們。如果您希望這樣做的話,可將本章節的內容作為參考來使用,當感覺需要知道其內容時可尋找這些
主題。
    如果您有管理其他資料庫系統的經驗,將會發現:運行MySQL的安裝程式在某些方面是類似的,您的經驗也是用得著的。但是MySQL的管理有自己獨特的需求,本書的這個部分將協助您熟悉這些內容。

管理職責概述

    MySQL資料庫系統由幾部分組成。您應該熟悉這些組成部分的內容和每個部分的目的。這需要您瞭解所管理系統的特徵以及協助您進行管理的可用工具。如果您花時間去瞭解了要監督的內容,工作將會變得非常容易。為此,您應當使自己熟悉MySQL的以下幾個方面:
    MySQL伺服器。伺服器mysql執行資料庫和表的所有操作。safe_mysqld 是一個相關的程式,它用於啟動伺服器、監控伺服器和重新啟動伺服器。
    MySQL客戶機和公用程式。有幾個MySQL程式,可用來協助您與伺服器進行通訊和執行管理的任務。其中最重要的幾個是:
    mysql,一個互動式程式,允許將SQL 陳述式發布到伺服器上並瀏覽其結果。
    mysqla d m i n,一個管理程式,允許執行諸如關閉伺服器以及建立或刪除資料庫的工作。如果伺服器運行不正常,還可以用mysqladmin 來檢查伺服器的狀態。
    isamchk 和my i s a m c h k,這些公用程式協助您完成表的分析和最佳化,以及在表損壞時進行崩潰恢複。
    mysqld um p,一個工具,用於備份資料庫或將資料庫拷貝到另一個伺服器中。
    伺服器的語言,SQL。有些管理職責只能用mysqladmin 的命令列公用程式來完成,但是,如果您還能用伺服器自己的語言來同伺服器進行對話,那就更好了。作為簡單的例子,您可能需要尋找使用者特權不按您所希望的方式進行工作的原因。沒有任何替代品能夠參與並與伺服器直接通訊。可通過使用mysql客戶機程式發布能夠檢驗授權表的SQL 查詢來做到這一點。如果您的MySQL版本還未引入GRANT 語句,則需要使用mysql首先設定每個使用者的許可權。
    如果您不知道SQL 的任何內容,至少必須對SQL要有基本的瞭解。缺乏對SQL 的熟悉只會給您帶來困惑,而在學習SQL 上所花費的時間將會得到成倍的回報。真正掌握SQL 要花費一些時間,但掌握基本技能則很快。如果您需要瞭解對SQL 和mysql命令列客戶機的介紹內容,請參閱第1章的“MySQL和SQL 介紹”
    MySQL資料目錄。資料目錄是伺服器儲存其資料庫和狀態檔案的所在。瞭解資料目錄的結構及內容是很重要的,您可以知道伺服器是怎樣使用檔案系統來表現資料庫和表的,以及像日誌這樣的檔案的存放位置和其內容。還應該瞭解在檔案系統中管理磁碟空間分配的選項,當發現放置資料目錄的檔案系統過滿時可以進行調整。

常規管理

    常規管理主要指處理mysqld、MySQL伺服器和提供給使用者的訪問伺服器的操作。在履行該職責時,下列的任務是最重要的:
    伺服器的啟動和關閉。您應該能夠從命令列中手工啟動和終止伺服器,並且在系統啟動和關閉時知道怎樣進行自動啟動和關閉。如果伺服器崩潰了或啟動不正常的話,瞭解怎樣使伺服器再次運行也是重要的。
    使用者帳號維護。應該瞭解MySQL使用者和UNIX 或Windows 使用者之間的區別。應該知道怎樣通過指定哪些使用者可以串連到伺服器和從哪裡進行串連來建立MySQL使用者帳號。還應該給新的使用者建議合適的串連參數,以使他們成功地串連到伺服器。弄清應怎樣建立帳號不是使用者們的工作。
    記錄檔維護。應該瞭解可以維護的記錄檔的類型,以及在何時和怎樣完成記錄檔的維護。日誌的迴圈和終止對於防止日誌填滿檔案系統是必要的。
    Database Backup和拷貝。Database Backup對伺服器系統的崩潰是至關重要的。應該能夠將資料庫恢複到崩潰時的狀態,以便儘可能地減少資料的丟失。請注意,Database Backup與常規的系統備份不同,例如,可通過使用UNIX 的dump 程式來進行。與資料庫表相對應的檔案在系統備份發生時隨伺服器活動而變化,因此恢複那些檔案將使您的表內部不一致。mysqldump 程式將產生對恢複資料庫更有用的備份檔案,並允許在不關閉伺服器的狀態下建立備份。
    如果決定在更快的主機上運行資料庫,或者想複製資料庫,則需要拷貝其內容到另一台機器上。如果需要的話,應該瞭解進行這項操作的過程。資料庫檔案是依賴於系統的,因此您不能只拷貝這些檔案。
    伺服器最佳化。使用者想要伺服器以最佳狀態運行。提高伺服器運行效能的最簡單方法是購買更多的記憶體或使磁碟速度更快。但是,這種直截了當的技術並不能代替對伺服器工作的瞭解。應該瞭解最佳化伺服器操作所用的參數以及如何將這些參數應用在您的環境中。在某些網站中,大多數查詢都是檢索。而在另一些網站,插入和更新操作佔據著優勢。選擇對哪些參數進行修改將受到網站查詢的影響。
    多伺服器。在某些環境中運行多伺服器是有用的。如果保留當前的成品安裝程式在適當的位置,或者為不同的使用者組提供較好的保密性(後者與ISP 尤其相關),則可以測試新的MySQL版本。對於這些情形,您應該瞭解怎樣建立多個同時發生的安裝。
    MySQL更新。由於新的MySQL版本頻繁出現,應該知道怎樣始終跟上這些版本以便利用損毀修復和新的特性。需要瞭解不進行版本升級的理由,並且掌握怎樣在穩定版本和開發人員版本之間進行選擇。

安全性

    當運行MySQL安裝程式時,確保使用者所儲存的資料的安全性是很重要的。MySQL管理員有責任控制對資料目錄和伺服器的訪問,並應瞭解以下的問題:
    檔案系統的安全性。UNIX 機器可能會使幾個使用者帳號成為宿主帳號,而這些帳號都沒有與MySQL相關的管理職責。確保這些帳號沒有對資料目錄的訪問是重要的。因為這樣可以防止它們通過拷貝資料庫表或移動資料庫表,或者通過能夠讀取包含敏感資訊的記錄檔來損壞檔案系統級的資料。您應該知道如何建立MySQL伺服器的UNIX使用者帳號,如何建立該使用者所擁有的資料目錄,以及如何啟動伺服器以便利用該使用者的許可權運行。
    伺服器的安全性。必須瞭解MySQL的安全系統是怎樣進行工作的,以便在建立使用者帳號時授予適當的許可權。通過網路連接到伺服器的使用者只允許做他們應該做的事情。您不要由於對安全系統的錯誤理解,將超級使用者的訪問權授予匿名使用者。

資料庫修複和維護

    所有的MySQL管理員都希望避免處理破壞的或毀壞的資料庫表。但是願望不能代替現實。以下幾個步驟可以使您在問題發生時減少風險並學會怎樣處理問題:
    崩潰恢複。如果儘管您做了最好的努力但災難還是降臨了,則應該知道如何修複或恢複表。很少會用到崩潰恢複,但當使用它時,它是一個令人討厭的、高強度的工作(尤其是當您正在忙亂地修正某些內容時,電話鈴響了或有人敲門)。然而,您必須知道怎樣處理它,否則使用者將會很不高興。要熟悉isamchk 和myisamchk 的表的檢查以及修複能力;要知道如何儘可能地從備份檔案中恢複,並且知道怎樣使用該更新日誌來恢複備份之後所產生的修改。
    預防性維護。預防性維護的常規程式應適當地進行安置,以使資料庫破壞和毀壞的可能性最小化。當然,您還要進行備份,但是,預防性維護將減少使用這些備份的機會。
    以上綜合地概括了作為MySQL管理員應承擔的職責。第10章將詳細討論這些職責並提供操作過程,以便有效地履行這些職責。我們將首先討論MySQL資料目錄,這是您正在管理的資源,因此應該瞭解其布局和內容。然後再討論常規的管理職責、MySQL安全系統,以
及維護和故障排除。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.