Search code examples
mysqlamazon-web-servicesamazon-aurora

AWS Aurora: The MySQL server is running with the --read-only option so it cannot execute this statement


I am getting this error when executing a GRANT statement on my Aurora DB instance in AWS:

The MySQL server is running with the --read-only option so it cannot execute this statement

My user is not read-only though, so why is this happening?


Solution

  • It turned out to be a silly mistake, but posting it anyway in case anyone else has the problem:

    I was accessing the replica instance by mistake - I had copied the endpoint for the replica, and it is read-only apparently. So if you have this problem, verify that you are connecting to the Primary Instance or best of all the DB Cluster endpoint.

    Edit: According to @Justin's answer we definitely should use DB Cluster:

    You need to connect to the cluster, rather than an instance. This is because instances seem to take a turn to be the readers and writers.