重命名 MySQL 数据库可能是一项繁琐的任务,尤其是对于大型数据库。转储然后重新导入数据的传统方法会给您的系统带来压力,影响性能。
要重命名 InnoDB 数据库,请考虑以下事项方法:
重命名数据库表:使用以下命令将每个表从旧数据库单独传输到新数据库:
RENAME TABLE old_db.table TO new_db.table;
要在 shell 脚本中自动化该过程,您可以运行以下命令之一:
使用一段时间循环:
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 循环:
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;
触发器:带有触发器的表无法使用此方法在数据库之间移动。
存储过程:如果您有存储过程,请记住然后使用以下命令复制它们:
mysqldump -R old_db | mysql new_db
以上是如何在不出现性能问题的情况下高效地重命名 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!