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