I want to alter tables like mysql.rds_sysinfo, mysql.rds_monitor, mysql.rds_heartbeat2 which belong to mysql schema.

The alter sql for that is: ALTER TABLE mysql.rds_sysinfo ROW_FORMAT=DYNAMIC;

But when I run it some error appears: Error Code: 1044. Access denied for user 'admin'@'%' to database 'mysql'

So how can I get access to alter the such tables of AWS RDS?

  • What is your goal? Would it suffice to write a read-only VIEW in front of them?
    – Rick James
    Jun 14 at 18:25

You will never be allowed to alter any tables used by RDS Services. They are managed by Amazon.

I see you logged in as admin@'%' but Amazon has shielded their source-compiled version of mysqld from allowing anyone to change their managed tables.

Even if SHOW GRANTS; says you have all privileges, you really don't. I have mentioned this years ago (See Confused by GRANT ALL PRIVILEGES ON *.* (...) WITH GRANT OPTION).

If those tables need to be in another row format, Amazon will do that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.