HOWTO · MySQL

在 MySQL 中複製資料庫

本文介紹如何複製 MySQL 資料庫。

建立現有資料庫的副本稱為 MySQL Clone 方法。克隆包括一次性建立表結構、約束、函式、過程、觸發器以及與表相關的所有功能的副本。

這些功能使使用者更加可靠,即使一個節點出現故障,副本或克隆也可以提供服務。當發生意外丟失或故障時,製作資料庫副本和克隆會有所幫助。

備份過程可以每天進行,也可以在特定的時間間隔內進行。在同一伺服器例項上覆制資料庫的方法如下。

在 MySQL 中的同一伺服器例項上覆制資料庫

將源資料庫複製到 SQL 指令碼檔案中。建立一個新的目標資料庫,然後將 SQL 指令碼檔案匯入新資料庫。

這是一個三步過程。

> 	mysql -u root -p
	****
>	mysqldump -u root -p firstDb > firstDbDump.sql
>	create database newDb;
>	mysql -u root -p newDb < firstdump.sql
> 	show databases;
> 	use newDb;
>	show tables;

上面第一種方法的詳細描述和命令如下。

  1. 要繼續第一種方法,請在本地系統中安裝 MySQL 伺服器 8.0。

  2. 繼續安裝過程,安裝成功後,到達 bin 路徑。

  3. 開啟環境變數,在系統 PATH 變數中新增 MySQL 系統的路徑。它允許從檔案系統中的任何位置訪問 MySQL。

  4. 開啟命令提示符,輸入如上所示的命令。此命令啟用 MySQL 提示符的使用。

    -u 屬性指定執行該值的使用者名稱; root 是使用者名稱。 -p 屬性指定密碼,該密碼位於另一行中。

    密碼永遠不會新增到命令中。它以加密格式出現在另一行中。

  5. 輸入命令將檔案從該位置複製到臨時中間檔案。

  6. mysqldump -u root -p database_name_to_be_cloned > filename_for_clone 是指定 mysqldump 實用程式的命令,使用者名稱和密碼作為選項。

    它將資料庫名稱作為引數並將轉儲檔案放入檔案中。 > 引數將輸出定向到特定檔案。

  7. 如果沒有提供檔名的絕對檔案路徑,SQL 檔案將儲存在安裝 MySQL 伺服器的 bin 目錄中。

  8. 建立一個新資料庫,其中應該匯入 SQL 以克隆現有資料庫。

  9. 一旦一個臨時或中間檔案形成,它可以再次使用 < 運算子讀入新形成的資料庫。運算子將 SQL 結果重定向到 newDb 資料庫中。

  10. 可以使用命令 show databases; 檢查資料庫。此命令將列出當前 SQL 連線中的所有資料庫。

  11. use 命令允許使用者使用指定的資料庫。use 命令將引數作為資料庫名稱。

  12. show tables 允許使用者列出資料庫中存在的所有表。因此,可以使用最後三個命令檢查複製的內容。

在 MySQL 中使用|或管道運算子複製命令

一個線性命令獲取源資料庫的轉儲並重定向到另一個目標資料庫。

> mysqldump -u root -p sourceDb | mysql -u root -p targetDb
  1. 到達安裝 MySQL 的 bin 資料夾。

  2. bin 資料夾開啟命令提示符。

  3. 使用上面的命令,事先分別建立源資料庫和目標資料庫。

  4. 該命令使用 mysqldump 實用程式建立 SQL 轉儲,將使用者名稱和密碼作為強制選項。並且輸出被重定向到另一個目標資料庫。

  5. |或管道符號主要是一種 LINUX/UNIX 命令運算子,允許使用者在一行中使用兩個或多個命令。

    它充當管道,將第一個命令的輸出提供給另一個命令。第二個命令通常使用管道符號分隔。

  6. 該命令與方法一中描述的相同,並且在一行中使用管道符號。

附上上述命令成功執行的截圖。

使用管道運算子的 mysql 複製命令

當我們輸入上述命令時,它會提示使用者輸入兩次密碼。根據此處的命令,兩次提到了 -p 選項,要求使用者輸入兩個資料庫的密碼。