步骤详解:1. 创建一个新数据库 CREATE DATABASE newdb; 2. 导出旧数据库 mysqldump -u root -p olddb > olddb.sql 3. 导入到新数据库 mysql -u root -p newdb < olddb.sql 4. 删除旧数据库 DROP DATABASE olddb;
方法一:使用mysqldump备份和恢复
首先,登录MySQL:mysql -u root -p。然后执行:CREATE DATABASE 新数据库名; mysqldump -u root -p 原数据库名 > 原数据库名.sql; mysql -u root -p 新数据库名 < 原数据库名.sql; DROP DATABASE 原数据库名;
方法二:直接重命名(仅MySQL 5.1.7+)
RENAME DATABASE olddb TO newdb; 注意:这个命令在某些版本中已移除,不推荐使用。
详细步骤
1. 备份数据:mysqldump -uroot -p数据库名 > 数据库名.sql 2. 创建新库 CREATE DATABASE 新库名; 3. 恢复数据 mysql -uroot -p新库名 < 数据库名.sql 4. 删除旧库 DROP DATABASE 旧库名; 5. 修改应用程序配置中的数据库名。
使用phpMyAdmin重命名
在phpMyAdmin中,选择数据库,点击导出,保存SQL文件。然后创建新数据库,导入SQL文件,最后删除旧数据库。
命令行完整操作
mysql> CREATE DATABASE new_name; mysql> RENAME TABLE old_db.table TO new_db.table; 对于所有表重复此操作,然后 DROP DATABASE old_db;
注意事项
重命名前务必备份,避免数据丢失。检查权限,确保用户对新旧库都有权限。更新所有连接该数据库的应用配置。
FAQ
Q: MySQL能否直接用ALTER DATABASE改名?
A: 不能,MySQL没有直接改名命令,必须用备份恢复法。
Q: 重命名会丢失数据吗?
A: 不会,只要备份正确,恢复后数据完整。
Q: Windows和Linux步骤一样吗?
A: 一样,都是命令行操作,路径不同而已。
Q: 怎么处理大数据库?
A: 用--single-transaction选项加速mysqldump。