我正在尝试将MySQL数据库从Amazon EC2复制到RDS:
我成功mysqldump使用以下命令将数据库的一个放入我的根文件夹中:
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 > FLUSH privileges;也不起作用。
GRANT SUPER..
mysql > FLUSH privileges;
我是mysql的初学者,所以很抱歉遇到这样一个简单的问题。有什么想法吗?
根据http://getasysadmin.com/2011/06/amazon-rds-super- privileges/,您需要log_bin_trust_function_creators在AWS控制台中设置为1 ,以正确加载转储文件。
log_bin_trust_function_creators
如果要忽略这些错误,并加载其余的转储文件,则可以使用以下-f选项:
-f
mysql -f my_database -u my_username -p -h my_new_database.xxxxxxxxx.us-east-1.rds.amazonaws.com < my_database.sql
该-f会报告错误,但会继续处理转储文件的剩余部分。