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.