MySQL的工作流程及常用工具簡介——MySQL 5.7數據庫



一. MySQL的工作流程

在這裏插入圖片描述
(1)操作系統用戶啓動MySQL服務。

(2)MySQL服務啓動期間,首先將配置文件中的參數信息讀入服務器內存。

(3)根據MySQL配置文件的參數信息或者編譯MySQL時參數的默認值生成一個服務實例進程Instance。

(4)MySQL服務實例進程派生出多個線程爲多個客戶機提供服務。

(5)數據庫用戶訪問MySQL服務器的數據時,首先需要選擇一臺登錄主機,然後在該登錄主機上開啓客戶機,輸入正確的賬戶名、密碼,建立一條客戶機與服務器之間的“通信鏈路”。

(6)接着數據庫用戶就可以在MySQL客戶機上輸入MySQL命令或SQL語句,這些MySQL命令或SQL語句沿着該通信鏈路傳送給MySQL服務實例,這個過程稱爲客戶機向MySQL服務器發送請求。

(7)MySQL服務實例負責解析這些MySQL命令或SQL語句,並選擇一種執行計劃運行這些MySQL命令或SQL語句,然後將執行結果沿着通信鏈路返回給客戶機,這個過程稱爲MySQL服務器向MySQL客戶機返回響應。

(8)數據庫用戶關閉MySQL客戶機,通信鏈路被斷開,該客戶機對應的MySQL會話結束。



二. MySQL數據庫工具簡介

        MySQL數據庫管理系統提供了許多命令行工具,這些工具可以用來管理MySQL服務器、對數據庫進行訪問控制、管理MySQL用戶以及數據庫備份和恢復工具等。另外,MySQL還提供了圖形化的管理工具,這使得對數據庫的操作更加簡單。


1. MySQL服務器端的常用工具

(1)mysqld:SQL後臺程序(即MySQL服務器進程)。 該程序必須運行之後,客戶端才能通過連接服務器來訪問數據庫。

(2)mysqld_safe:服務器啓動腳本。 在UNIX和NetWare中推薦使用mysqld_safe來啓動mysqld服務器。mysqld_safe增加了一些安全特性,例如當出現錯誤時重啓服務器並向錯誤日誌文件寫入運行時間信息。

(3)mysql.server:服務器啓動腳本。 在UNIX中的MySQL分發版包括mysql.server腳本。該腳本用於使用包含爲特定級別的、運行啓動服務的腳本的、運行目錄的系統。它調用mysqld_safe來啓動MySQL服務器。

(4)mysql_multi:服務器啓動腳本, 可以啓動或停止系統上安裝的多個服務器。

(5)myisamchk: 用來描述、檢查、優化和維護MyISAM表的實用工具。在使用myisamdchk修復會優化表時,必須保證mysqld服務器沒有使用該表,最好關閉mysqld服務;如果不關閉mysqld,在運行myisamchk之前應執行mysqladmin flash-tables。如果服務器和myisamchk同時訪問表,表可能會被破壞。

(6)mysqlbug:MySQL缺陷報告腳本。 它可以用來向MySQL郵件系統發送缺陷報告。

(7)mysql_install_db:該腳本用默認權限創建MySQL授權表。 通常只是在系統上首次安裝MySQL時執行一次。它會初始化數據目錄,並創建它所包含系統表(如果系統表不存在),它還初始化管理表所需的系統表空間和相關的數據結構。


2. MySQL客戶端常用工具

(1)myisampack: 壓縮MyISAM表以產生更小的只讀表的一個工具。壓縮後的表佔用比壓縮前小得多的空間。但是壓縮後的表將成爲一個只讀表,不能進行 DML 操作。

(2)mysql: 交互式輸入SQL語句或從文件以批處理模式執行它們的命令行工具。同時也是使用最頻繁的連接數據庫的客戶端工具

(3)mysqlaccess: 檢查訪問主機名、用戶名和數據庫組合的權限的腳本。

(4)MySQLadmin: 執行管理操作的客戶程序,例如創建或刪除數據庫,重載授權表,將表刷新到硬盤上,以及重新打開日誌文件。MySQLadmin還可以用來檢索版本、進程,以及服務器的狀態信息。

(5)mysqlbinlog: 從二進制日誌讀取語句的工具。在二進制日誌文件中包含執行過的語句,可用來幫助系統從崩潰中恢復。

(6)mysqlcheck: 檢查、修復、分析以及優化表的表維護客戶程序。

(7)mysqldump: 將MySQL數據庫轉儲到一個文件(例如SQL語句或tab分隔符文本文件)的客戶程序。用來備份數據庫或在不同數據庫之間進行數據遷移。備份內容包含創建表或裝載表的 sql 語句。

(8)mysqlhotcopy: 當服務器在運行時,快速備份MyISAM或ISAM表的工具。

(9)mysql import: 使用load data infile將文本文件導入相關表的客戶程序。

(10)mysqlshow: 顯示數據庫、表、列以及索引相關信息的客戶程序。和 mysql 客戶端工具很類似,不過有些特性是 mysql 客戶端工具所不具備的。

(11)perror: 顯示系統或MySQL錯誤代碼含義的工具。在 MySQL 的使用過程中,可能會出現各種各樣的 error。這些 error 有些是由於操作系統引起的,比如文件或者目錄不存在;有些則是由於存儲引擎使用不當引起的。這些 error 一般都有一個代碼,類似於 “error:#” 或者 “Errcode:#”,“#” 代表具體的錯誤號。perror 的作用就是解釋這些錯誤代碼的詳細含義。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章