Search code examples
mysqlamazon-ec2amazon-web-servicesamazon-rdssql-grant

MySQL/Amazon RDS error: "you do not have SUPER privileges..."


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.