2014-03-13 120 views
0

我想通过下面的查询来命名我的数据库:如何在不丢失数据的情况下重命名MySQL数据库?

RENAME DATABASE my_db TO newDB; 

但它向我展示了以下错误响应:

Error Code: 1064. You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'DATABASE 
activation_server_db TO activationserver' at line 1 

请帮我找到我要去的地方错了吗?

+0

@codemania,嗨我是新用户在stackoverflow上,这是什么意思,当你得到票减去,因为在这篇文章中我有-2票? – Amir

+0

http://stackoverflow.com/questions/67093/how-do-i-quickly-rename-a-mysql-database-change-schema-name –

+0

@amir请参阅关于voating http:// stackoverflow的问题。 com/help/privileges/vote-down – codemania

回答

1

使用这几个简单的命令

mysqldump -u username -p -v olddatabase > olddbdump.sql 
mysqladmin -u username -p create newdatabase 
mysql -u username -p newdatabase < olddbdump.sql 

或对于InnoDB,以下似乎工作:创建新的空数据库,再依次到新的数据库重命名每个表:

RENAME TABLE old_db.table TO new_db.table; 

之后您需要调整权限。

0

您需要创建您的数据库的转储,然后用该转储创建具有不同名称的新数据库。

如果是在网上,你需要采取ofline它避免数据丢失

1

我遵循这些简单的步骤:

  1. 创建新的数据库
  2. 备份旧的数据库
  3. 恢复旧数据库新数据库下
1

您可以使用mysqld UMP

using mysqldump 

mysqldump [OPTIONS] --database oldSchema > oldSchema.sql 
mysql new_schema < oldSchema.sql 
相关问题