2014-03-13 121 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 
相關問題