Issue
I'm attempting to copy my mysql database from an Amazon EC2 to an RDS:
I successfully did a mysqldump
of my database into my root folder using this:
root@ip-xx-xx-xx-xx:~# mysqldump my_database -u my_username -p > my_database.sql
Then I tried to transfer this .sql file to my new RDS database:
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
Unfortunately, I get following error message:
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)
I tried to GRANT SUPER..
in a variety of ways but I'm getting errors when I try to do that too. Typing mysql > FLUSH privileges;
doesn't work either.
I'm a mysql beginner so sorry for such an easy question. Thoughts?
Solution
Per http://getasysadmin.com/2011/06/amazon-rds-super-privileges/, you need to set log_bin_trust_function_creators
to 1 in AWS console, to load your dump file without errors.
If you want to ignore these errors, and load the rest of the dump file, you can use the -f
option:
mysql -f my_database -u my_username -p -h
my_new_database.xxxxxxxxx.us-east-1.rds.amazonaws.com < my_database.sql
The -f
will report errors, but will continue processing the remainder of the dump file.
Answered By - Ross Smith II Answer Checked By - Pedro (WPSolving Volunteer)