我在用 MySQL 5.0.
我创建了一个名为的数据库accounts
,但现在我想将数据库名称更改为FinanceAccounts
.
如何更改数据库名称MySQL 5.0
?
我认为只有一种方法(除了重命名MySQL数据库中的目录,InnoDB表将失败):
创建新数据库(使用新名称)
转储旧数据库
将转储数据导入新数据库
删除旧数据库
要创建新数据库:
mysql> CREATE DATABASE new_database;
要创建旧DB的转储:
mysqldump -u "your_username" -p --lock-tables old_database > old_database_dump.sql
要将转储数据导入新数据库:
mysql -u "your username" -p new_database < old_database_dump.sql
要删除旧数据库:
mysql> DROP DATABASE old_database;
请记住,您还需要删除旧数据库的权限.有关详细信息,请参阅此处: 撤消MySQL数据库上所有用户的所有权限
MySQL 5.1.7到MySQL 5.1.22有一个RENAME {DATABASE | SCHEMA} db_name TO new_db_name;
命令,但是这个命令已经在MySQL 5.1.23中删除了,因为它太危险了.
最好的方法可能是将数据库中的每个表重命名为新名称.例如:
更新:这里有两个步骤
您想要创建一个新的空白数据库说"新帐户"
CREATE DATABASE newaccounts;
逐个迁移每个表
RENAME TABLE accounts.tablename TO newaccounts.tablename;
有关 更多信息,请参见 http://dev.mysql.com/doc/refman/5.0/en/rename-table.html.