http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html
The only way to find the read-only status of an AWS Aurora instance is:
SHOW GLOBAL VARIABLES LIKE 'innodb_read_only';
ProxySQL only checks for 'read_only' so an Aurora read_only instance can never be discovered.
Thank you for reporting this.
Brainstorming, a possible solution could be to add another column in mysql_replication_hostgroups to specify what needs to be checked, either read_only or innodb_read_only , or even super_read_only .
Yes, a new column provides the most flexibility. Or is it fair to assume that if innodb_read_only is true, the whole server should be treated as a read_only server?
I would like to avoid the path of making too many assumptions, because it is possible to have servers without InnoDB (so innodb_read_only won't exist), like ProxySQL admin interface itself or servers that only have TokuDB or only MyRocks.
In the past I have been asked to check super_read_only instead of read_only , so I think it is reasonable to make the check configurable by the end user.
This is now implemented in 2.0.0.
@Tusamarco wrote a blog post about it
Most helpful comment
I would like to avoid the path of making too many assumptions, because it is possible to have servers without InnoDB (so
innodb_read_onlywon't exist), like ProxySQL admin interface itself or servers that only have TokuDB or only MyRocks.In the past I have been asked to check
super_read_onlyinstead ofread_only, so I think it is reasonable to make the check configurable by the end user.