我正在尝试将我的 mysql 数据库从 Amazon EC2 复制到 RDS:
我成功地将我的数据库的 mysqldump
放到我的根文件夹中:
root@ip-xx-xx-xx-xx:~# mysqldump my_database -u my_username -p > my_database.sql
然后我尝试将此 .sql 文件传输到我的新 RDS 数据库:
root@ip-xx-xx-xx-xx:~# mysql my_database -u my_username -p -h
my_new_database.xxxxxxxxx.us-east-1.rds.amazonaws.com < my_database.sql
很遗憾,我收到以下错误消息:
You do not have the SUPER privilege and binary logging is enabled
(you *might* want to use the less safe log_bin_trust_function_creators variable)
我尝试以多种方式GRANT SUPER..
,但是当我尝试这样做时也遇到了错误。键入 mysql > FLUSHprivilege;
也不起作用。
我是一个 mysql 初学者,很抱歉这么简单的问题。想法?
最佳答案
- 打开 RDS Web 控制台。
- 打开“参数组”选项卡。
- 创建一个新的参数组。在对话框中,选择与您的 MySQL 数据库版本兼容的 MySQL 系列,为其命名并确认。 选择刚刚创建的参数组并发出“编辑参数”。
- 查找参数
log_bin_trust_function_creators
并将其值设置为1
。 - 保存更改。
- 打开“实例”标签。展开您的 MySQL 实例并发出名为“Modify”的“Instance Action”。
- 选择刚刚创建的参数组并启用“立即应用”。
- 点击“继续”并确认更改。
- 等待“修改”操作完成。
- 再次打开“实例”标签。展开您的 MySQL 实例并展开“Instance Action”选项卡并选择“Reboot”。
不需要重新启动,因为 log_bin_trust_function_creators
具有 apply type = dynamic
。如果您的 RDS 已经有一个附加的参数组并且您对其进行编辑,而不是创建一个新的参数组,那么至少这是正确的。只需保存参数编辑即可。
关于MySQL/Amazon RDS 错误 : "you do not have SUPER privileges...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11601692/