2011-11-28 97 views
0

我嘗試使用重命名數據庫命令,但失敗並出現以下錯誤。我沒有看到通過Amazon RDS控制檯停止RDS實例的選項。如何重命名Amazon RDS託管的MySQL數據庫實例

mysql> rename database foo to foo_orig; 
ERROR 1064 (42000): 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 foo to foo_orig' at line 1 

回答

2

這種說法在MySQL 5.1.7中加入,但被認爲是危險的,在MySQL 5.1.23被刪除。

http://dev.mysql.com/doc/refman/5.1/en/rename-database.html

太少機會亞馬遜RDS使用的版本低於5.2。
如果你有訪問MySQL服務器,你可以嘗試: -

  1. 停止MySQL守護進程
  2. 去datadir的
  3. MV $ OLD_NAME $ NEW_NAME
  4. 重啓MySQL守護
  5. 登錄到mysql數據庫
  6. 將$ old_name的所有權限更新爲$ new_name(在表mysql.db下)
  7. flush priv收縮
2

該命令被刪除像@ajreal提到的那樣,但是對mysql文件系統進行任何維護都是很危險的。一個小錯誤和你的mysql服務不會啓動。

推薦的方法是將整個數據庫導出到一個sql文件並以不同的名稱再次導入它。您可以將您的站點置於維護模式,以確保在執行此過程時無人讀取或寫入數據。

mysqldump -u username -ppassword old_database_name > dump.sql 

,然後將其導入到同一臺服務器:

mysql -u username -ppassword new_database_name < dump.sql 
相關問題