1

我尝试使用重命名数据库命令,但失败并出现以下错误。我也没有看到通过 Amazon RDS 控制台停止 RDS 实例的选项。

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
4

2 回答 2

2

此语句在 MySQL 5.1.7 中添加,但被发现有危险并在 MySQL 5.1.23 中删除。

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

Amazon RDS 使用低于 5.2 的版本的可能性太小。
如果您可以访问 mysql 服务器,您可以尝试:-

  1. 停止mysql守护进程
  2. 转到数据目录
  3. mv $old_name $new_name
  4. 重启mysql守护进程
  5. 登录mysql数据库
  6. 将您的 $old_name 的所有权限更新为 $new_name(在表 mysql.db 下)
  7. 刷新权限
于 2011-11-28T15:44:12.973 回答
2

该命令已像@ajreal 提到的那样被删除,但是至少可以说对 mysql 文件系统进行任何维护都是危险的。一个小错误,您的 mysql 服务将无法启动。

推荐的方法是将整个数据库导出到一个sql文件中,然后以不同的名称再次导入。您可以将您的站点置于维护模式,以确保在执行此过程时没有人读取或写入数据。

mysqldump -u username -ppassword old_database_name > dump.sql

然后将其导入同一服务器:

mysql -u username -ppassword new_database_name < dump.sql
于 2011-11-28T22:34:03.533 回答