【实用技能】如何通过简便的方式重命名 MySQL 数据库?
使用 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 中的许多其他数据库管理选项。
产品试用下载、价格咨询、优惠获取,或其他任何问题,可留言或私信我。
原文地址:https://blog.csdn.net/qq_36129733/article/details/144281712
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!