How to alter AWS RDS tables in `mysql` schema?

Posted on

Question :

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?

Answer :

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.

Leave a Reply

Your email address will not be published. Required fields are marked *