在 MySQL 中將資料從一個資料庫複製到另一個資料庫

Mehvish Ashiq 2023年1月30日 2022年5月13日
  1. 將資料從一個資料庫複製到另一個
  2. 將資料從 MySQL 伺服器複製到 MS SQL 伺服器
  3. まとめ
在 MySQL 中將資料從一個資料庫複製到另一個資料庫

我們將瞭解將資料從一個資料庫複製到另一個資料庫的不同方法。

這種複製資料的策略在資料複製中非常有用。由於資料複製,可以將資料提供給不同的伺服器並提供給所有使用者,而不會出現任何不一致。

資料複製的好處包括提高資料的可用性和可靠性以及減少通訊開銷。我們可以將完整或部分資料庫從一臺資料庫伺服器複製到另一臺。

在本教程中,我們將瞭解如何在 MySQL(使用相同使用者)、MS SQL Server(使用相同使用者)以及從 MySQL 複製資料到 MS SQL Server(使用不同使用者)中複製資料。

將資料從一個資料庫複製到另一個

使用 MySQL 伺服器

我們的 MySQL 伺服器中有兩個名為 studentsperson 的資料庫。person 資料庫有一個名為 customers 的表,students 資料庫有一個名為 student 的表,我們希望將其複製到 person 資料庫中。

需要注意的是,我們使用一個使用者(root)在一臺伺服器(MySQL 8.0.27)中複製資料。我們有以下資料庫(見紅色框)和表格(見綠色框)。

將資料從一個資料庫複製到另一個 - mysql 伺服器中的當前資料

我們想使用以下 SQL 查詢將 student 表從 students 資料庫複製到 person 資料庫。

#MySQL Version 8.0.27
CREATE TABLE person.students SELECT * FROM students.student; 

複製資料後觀察資料庫和表(見下面的截圖)。你可以在 person 資料庫中看到兩個表,customersstudents

你可能已經注意到我們想從源資料庫中複製 student 表,那麼為什麼在目標資料庫中將其命名為 students?這是因為我們在 SQL 查詢中將其命名為 students

將資料從一個資料庫複製到另一個資料庫 - 複製到 mysql 伺服器後的資料

使用 MS SQL 伺服器

在這裡,我們的 MS SQL Server 中有兩個名為 teachersperson 的資料庫。person 資料庫有一個名為 customers 的表,teachers 資料庫有一個名為 teacher 的表,我們希望將其複製到 person 資料庫中。

我們使用一個使用者在一臺伺服器(MS SQL Server)中複製資料。你可以在下面的螢幕截圖中看到當前的資料庫(見紅色框)和表(見綠色框)。

將資料從一個資料庫複製到另一個 - mssql 伺服器中的當前資料

我們將使用以下命令將名為 teacher 的表從 Teachers 資料庫複製到 Person 資料庫中。

#MSSQL Server
SELECT * INTO Person..teacher FROM Teachers..teacher;

你可以在下面給出的螢幕截圖中看到複製的表格。我們現在在 Person 資料庫中有兩個表。

將資料從一個資料庫複製到另一個 - 在 mssql 伺服器中複製後的資料

將資料從 MySQL 伺服器複製到 MS SQL 伺服器

你有沒有想過如果你必須將資料從你的資料庫複製到另一個使用者的資料庫?這意味著涉及不同的使用者(有時是不同的機器)。

在這裡,我們將看到如何將資料從 MySQL 伺服器複製到 MS SQL 伺服器(請注意,同一臺計算機上有兩個使用者,一個用於 MySQL,另一個用於 MS SQL Server)。

在 MS SQL Server 中右鍵單擊你的資料庫,然後選擇 Task -> Import Data

將資料從一個資料庫複製到另一個 - 在 mssql 伺服器中選擇匯入資料

單擊以下螢幕截圖中的下一步按鈕。

將資料從一個資料庫複製到另一個 - 在 mssql 伺服器中單擊下一步

在以下螢幕截圖中,確保資料來源為 .Net Framework Data Provider for MySQL,將 MySQL 資料庫名稱、埠號和伺服器分別寫入 students3306localhost。然後,單擊下一步。

請務必注意,你可能有不同的資料庫名稱和伺服器 IP 地址。我們在同一臺機器上使用兩臺伺服器;這就是我們使用 localhost 的原因。

將資料從一個資料庫複製到另一個 - 在 mssql 伺服器中選擇源埠伺服器

輸入 MySQL 伺服器的使用者名稱密碼(請參見下面的螢幕截圖),然後單擊下一步

將資料從一個資料庫複製到另一個 - 使用者登入資訊

確保目標選擇為 SQL Server Native Client 11.0,確認你的伺服器名稱和資料庫名稱,然後選擇身份驗證。我們在本教程中使用 Windows 身份驗證。然後單擊下一步。

將資料從一個資料庫複製到另一個 - 在 mssql 伺服器中選擇目標

在以下螢幕上單擊下一步。

將資料從一個資料庫複製到另一個 - 在 mssql 伺服器中寫入查詢部分 a

根據你的要求編寫 SQL 查詢;我們正在使用以下命令從 student 表中複製所有記錄。點選下一步。

將資料從一個資料庫複製到另一個資料庫 - 在 mssql 伺服器中寫入查詢部分 b

寫下你的目標表名稱(將出現在 MS SQL Server 中的名稱),然後單擊下一步。

將資料從一個資料庫複製到另一個 - mssql 伺服器中的目標表名

在下面給出的螢幕上單擊下一步。

將資料從一個資料庫複製到另一個 - mssql 伺服器中的資訊

在以下螢幕截圖中,選擇立即執行(見綠色框),或者你可以儲存包並稍後執行(見紅色框)。點選下一步。

將資料從一個資料庫複製到另一個 - 現在在 mssql 伺服器中執行

在以下螢幕上單擊完成。

將資料從一個資料庫複製到另一個 - mssql 伺服器中的完整嚮導

此處,以下螢幕顯示資料已被複制。單擊關閉。

將資料從一個資料庫複製到另一個 - 在 mssql 伺服器中成功傳輸

檢查你的 MS SQL Server 以獲取複製的表,你可以在以下螢幕截圖中看到綠色框。

將資料從一個資料庫複製到另一個 - 將 mysql 複製到 mssql 伺服器之後

まとめ

考慮到上述討論,我們得出結論,出於各種原因,包括安全問題、資料可用性和可靠性等,將資料從一個資料庫複製到另一個資料庫很重要。我們還可以為全球不同使用者提供對資料的訪問許可權。

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook