在 MySQL 中修改数据库名可以通过几种不同的方法实现,具体选择哪种方法取决于你的 MySQL 版本和具体需求:
早期 MySQL 版本提供了 RENAME DATABASE 命令,但这个命令存在安全风险,可能导致数据丢失,已在 MySQL 5.1.7 中被移除并标记为不安全,不建议使用。
这是最安全可靠的方法,步骤如下:
-
先创建新的数据库:
CREATE DATABASE new_database_name;
-
使用 mysqldump 导出旧数据库:
mysqldump -u 用户名 -p 旧数据库名 > 备份文件.sql
-
将备份文件导入到新数据库:
mysql -u 用户名 -p 新数据库名 < 备份文件.sql
-
确认数据迁移完成后,删除旧数据库(谨慎操作!):
-
停止 MySQL 服务
-
找到数据库存储目录(通常在
/var/lib/mysql/ 或通过 SHOW VARIABLES LIKE 'datadir'; 查看)
-
重命名对应的数据库文件夹
-
重启 MySQL 服务
这种方法可能导致权限问题,且对于 InnoDB 引擎可能存在风险,生产环境不推荐。
建议优先使用方法 2,虽然步骤稍多,但能确保数据安全。操作前请务必备份数据,尤其是删除旧数据库前一定要确认新数据库工作正常。