翻譯|使用教程|編輯:吉煒煒|2024-12-05 11:52:59.573|閱讀 109 次
概述:使用 MySQL 數據庫時,您可能會遇到需要更改數據庫名稱的情況。但是,MySQL 不再支持直接重命名選項。早期版本中提供的 RENAME DATABASE 命令由于存在數據丟失的風險而被刪除。盡管如此,仍然可以在 MySQL 中重命名數據庫。本文探討了安全有效地完成此任務的可用方法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
使用 MySQL 數據庫時,您可能會遇到需要更改數據庫名稱的情況。但是,MySQL 不再支持直接重命名選項。早期版本中提供的 RENAME DATABASE 命令由于存在數據丟失的風險而被刪除。盡管如此,仍然可以在 MySQL 中重命名數據庫。本文探討了安全有效地完成此任務的可用方法。
如何使用 mysqldump shell 命令重命名 MySQL 中的數據庫
在 MySQL 中重命名數據庫涉及創建一個具有所需名稱的新空數據庫,并從舊數據庫傳輸內容。傳輸完成后,可以根據需要存檔或刪除舊數據庫。
此過程可以使用mysqldump實用程序完成,該實用程序使您能夠創建舊數據庫的轉儲并將其內容導入新數據庫。
首先,我們需要轉儲舊數據庫。在 shell 提示符下運行以下命令,創建包含所有數據庫數據以及存儲過程和函數的物理備份:
$ mysqldump -u username -p"password" -R oldDbname > oldDbname.sql
下一步是創建一個具有所需名稱的新數據庫:
$ mysqladmin -u username -p"password" create newDbname
最后,我們將轉儲文件導入到新的數據庫中:
$ mysql -u username -p"password" newDbname < oldDbname.sql
這種方法的缺點是可能需要相當長的時間,特別是在處理大型數據庫時。
另一種解決方法是使用可視化工具,例如 MySQL 的 dbForge Studio。
如何使用 dbForge Studio for MySQL 重命名 MySQL 中的數據庫
圖形用戶界面(GUI 工具)因其直觀的設計,以及通過切換到可視模式來加快任務執行的速度的能力而成為命令行備受青睞的替代品。
本文將重點介紹dbForge Studio for MySQL,這是一個 IDE,用于管理 MySQL 和 MariaDB 數據庫開發、管理和管理各個方面的數據庫相關任務。這包括 SQL 編碼、數據庫比較和同步、數據遷移、用戶管理、源代碼控制等,所有這些都在一個用戶友好的可視化界面中完成。
獲取dbForge Studio for MySQL最新版試用
要在 dbForge Studio for MySQL 中重命名數據庫,您可以從三個選項中選擇:
現在,讓我們深入研究每種方法。
使用不同的名稱備份和恢復數據庫
此方法涉及創建數據庫備份并將其恢復到具有所需名稱的新數據庫中。使用 dbForge Studio for MySQL,此過程簡單且直觀。
例如,如果要將sakila測試數據庫重命名為sakila_new,請按照以下步驟操作:
單擊數據庫>任務>備份數據庫,或從左側的數據庫資源管理器窗格中選擇所需的數據庫,然后從上下文菜單中選擇任務>備份數據庫。
數據庫備份向導將啟動。指定連接、要創建備份的數據庫、存儲輸出備份文件的文件夾路徑以及備份文件名。
在備份內容部分,將結構和所有對象都包含在備份文件中。
如果需要,請指定附加選項和錯誤處理行為。單擊“備份”。創建備份文件后,單擊“完成”。
下一步是創建一個具有所需名稱sakila_new的新數據庫。您可以使用標準 CREATE DATABASE 命令或通過可視化界面執行此操作,如下所示:
轉到數據庫>新建數據庫。在可視化編輯器中,輸入數據庫名稱sakila_new。單擊應用更改以創建數據庫。
sakila_new數據庫現在出現在數據庫資源管理器列表中。這是一個空數據庫,我們想將架構和數據從sakila遷移到sakila_new。我們可以借助我們之前為sakila創建的備份文件來實現這一點。
在數據庫資源管理器窗格中右鍵單擊sakila_new數據庫,然后選擇任務>恢復數據庫。
在數據庫還原向導中,檢查詳細信息,瀏覽到創建的備份文件并選擇它。單擊“還原”。
我們已成功在sakila_new數據庫中恢復sakila備份,并且我們擁有兩個不同名稱的相同數據庫。
可以刪除舊名稱下的數據庫,因為所有數據都保存在新名稱下的數據庫中。
比較并同步數據庫架構和數據
dbForge Studio for MySQL 提供了強大的工具來比較和同步數據庫模式和表數據。雖然此功能通常用于識別和分析開發、暫存和生產環境中數據庫之間的差異,但它也可以將數據庫模式和數據復制到新的空數據庫中。
首先,創建一個具有所需名稱的空數據庫,例如sakila_test。一旦它出現在數據庫列表中,導航到“比較” > “新模式比較”以啟動該過程。
在“新建模式比較”窗口中,定義要比較的數據庫。將舊數據庫設置為“源”,將新創建的具有所需名稱的數據庫設置為“目標”。單擊“比較”。
由于我們的新數據庫是空的,因此您可以看到僅存在于源數據庫中的所有模式對象。單擊綠色箭頭啟動模式同步過程,該過程會將sakila模式復制到sakila_test數據庫中。
為了確認結果,請刷新架構比較結果。這兩個數據庫的架構完全相同。
同步架構后,我們還需要同步數據。與前面的步驟類似,單擊“比較” > “新數據比較”,并設置要比較的源和目標。
單擊“比較”開始數據比較過程。查看結果并單擊綠色箭頭。
當任務完成后,我們將擁有兩個相同但名稱不同的數據庫。
因此,我們可以刪除舊數據庫。
使用 dbForge Studio for MySQL 復制數據庫
最簡單的方法是通過 dbForge Studio for MySQL 中的“復制數據庫”選項,一鍵創建具有相同模式和數據且具有新名稱的新數據庫。
單擊數據庫>任務>復制數據庫
指定源服務器和目標服務器,并從源列中選擇要復制的數據庫。
默認情況下,源列中的名稱會復制到目標列,但這些名稱是可編輯的。在目標中為數據庫指定一個新名稱,重命名副本。
選中“包含數據”以復制 MySQL 數據庫及其數據,然后單擊綠色箭頭開始復制。
當該過程完成后,您可以在數據庫列表中看到新名稱下的數據庫副本。
如您所見,使用 dbForge Studio for MySQL 重命名數據庫的過程沒有任何困難,因為它是通過 GUI 工具的直觀界面完成的。您可以根據您的目標和項目要求從三個選項中進行選擇。
除此之外,我們必須要提到,MySQL Studio 提供了廣泛的重構功能,可以幫助您重命名列、表和視圖,同時保持數據庫完整性。
如何在 MySQL Workbench 中重命名數據庫
MySQL Workbench 是專為 MySQL 專家設計的默認 IDE。它是免費的,并且提供了不錯的功能來執行 MySQL 中的各種標準數據庫任務,盡管其功能遠不如dbForge Studio for MySQL 強大。
MySQL Workbench 不支持數據庫重命名。通常建議單獨使用mysqldump實用程序。
可用選項建議重命名表以更改特定表的數據庫名稱。此操作將把包含所有數據的表從舊數據庫轉移到具有所需名稱的新數據庫中。默認的 MySQL 存儲引擎 InnoDB 允許這樣做。
讓我們在 MySQL Workbench 中以新名稱創建一個新的空數據庫。單擊導航器中Schemas部分的+圖標或使用命令。CREATE DATABASE
為空數據庫命名并點擊應用。數據庫將出現在Schemas下的列表中。
應用以下命令來更改特定表的數據庫名稱:
RENAME TABLE oldDbname.table TO newDbname.table;
例如,我們想將演員表從sakila數據庫轉移到sakila_new數據庫。執行以下命令:
RENAME TABLE sakila.actor TO sakila_new.actor;
刷新數據庫,您可以看到包含所有數據的表已轉移到sakila_new。
您可以對所有其他表執行此操作,將它們移動到新數據庫中。但是,該查詢允許一次移動一個表,這對于大型數據庫來說并不實用。此外,RENAME TABLE 命令不適用于視圖和觸發器。
結論
在 MySQL 中重命名數據庫是數據庫管理員的常見任務,需要可靠的方法才能有效執行。盡管 MySQL 不再支持舊的直接重命名命令,但它提供了替代方案。通過添加 GUI 工具(例如 dbForge Studio for MySQL),用戶可以更快、更輕松地完成該過程,而無需手動輸入命令。
dbForge Studio 提供了多種重命名方法,可適應各種場景,以及 MySQL 和 MariaDB 中的許多其他數據庫管理選項。
產品試用下載、價格咨詢、優惠獲取,或其他任何問題,請聯系。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網