如何在不出现性能问题的情况下高效地重命名 MySQL 数据库?
Dec 14, 2024 am 06:01 AM重命名 MySQL 数据库(架构)而不创建性能瓶颈
重命名 MySQL 数据库可能是一项繁琐的任务,尤其是对于大型数据库。转储然后重新导入数据的传统方法会给您的系统带来压力,影响性能。
InnoDB 数据库的分步解决方案
要重命名 InnoDB 数据库,请考虑以下事项方法:
- 创建一个新的空数据库: 首先创建一个新数据库使用所需的名称。
-
重命名数据库表:使用以下命令将每个表从旧数据库单独传输到新数据库:
1
RENAME TABLE old_db.table TO new_db.table;
登录后复制 - 调整权限:表移动后,需要修改权限以反映
自动化解决方案
要在 shell 脚本中自动化该过程,您可以运行以下命令之一:
-
使用一段时间循环:
1
2
mysql -u username -ppassword old_db -sNe
'show tables'
|
while
read table; \
do
mysql -u username -ppassword -sNe
"rename table old_db.$table to new_db.$table"
; done
登录后复制 -
使用 for 循环:
1
for
table in `mysql -u root -ppassword -s -N -e
"use old_db;show tables from old_db;"
`;
do
mysql -u root -ppassword -s -N -e
"use old_db;rename table old_db.$table to new_db.$table;"
; done;
登录后复制
其他注意事项
触发器:带有触发器的表无法使用此方法在数据库之间移动。
存储过程:如果您有存储过程,请记住然后使用以下命令复制它们:
1 |
|
以上是如何在不出现性能问题的情况下高效地重命名 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

热门文章

热门文章

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器)

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么?
