Auroraで1290, ‘The MySQL server is running with the –read-only option

今回はAWSのAuroraを利用しているときに「django.db.utils.OperationalError: (1290, ‘The MySQL server is running with the –read-only option so it cannot execute this statement’)」というエラーが起きてしまったときの対処法についてご紹介いたします。



Auroraで1290, ‘The MySQL server is running with the –read-only option

Django+AuroraのMySQL5.7でインフラの構築を行っていたときのことです。
上記のような「django.db.utils.OperationalError: (1290, ‘The MySQL server is running with the –read-only option so it cannot execute this statement’)」というエラーが出てDBのやりとりがうまくいきませんでした。

結論を言うと、エンドポイントをミスっていたことが原因でした。

Auroraのエンドポイントには次の種類があります。
・クラスターエンドポイント
・読み取りエンドポイント
・カスタムエンドポイント

このうち、「読み取りエンドポイント」でDBの書き込みを行うと上記のようなエラーが出てしまいます。
私はAuroraを触るのは初めてでよく分からず、Auroraを設定する画面に「書き込み」と「読み込み」があったので、これを合わせなければ書き込みと読み込みの両方ができるエンドポイントができないと思って「クラスターエンドポイント」と「読み取りエンドポイント」をまとめて「カスタムエンドポイント」を作成して接続したところ、ものの見事に上記のエラーが出てしまいました。
どうやら「書き込み」と書かれていたのがクラスターエンドポイントであり、クラスターエンドポイントさえ指定すれば読み書きができるようです。

クラスターエンドポイントは種類に「書き込み」と書かれているものです。
クラスターエンドポイントをDjangoのDATABASESに設定したところうまくいきました。

終わりに

今回はAWSのAuroraを利用しているときに「django.db.utils.OperationalError: (1290, ‘The MySQL server is running with the –read-only option so it cannot execute this statement’)」というエラーが起きてしまったときの対処法についてご紹介いたしました。

【お知らせ】
プログラミングのコンサルタントをすることを考えております。
下記の通り、かなり格安でご用意させていただいております。
【格安】プログラミングコンサル生募集(初心者向け、フリーランス志望向け)

詳しくは下記のリンクをご覧ください。
https://chico-shikaku.com/2020/10/programming-consult-2020/

11月くらいを目処に開始予定です。
最初は募集があれば先着5名くらいを目安に考えております。
質問や意見、問い合わせやお申し込みは下記のリンクよりお願いいたします。
https://docs.google.com/forms/d/e/1FAIpQLSeTXskmlyPAHuhwiOE9togqJPWdhXYCyRoVnFkkbS0VN0Ftug/viewform?usp=sf_link

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






RDS

Posted by ちこ