一般社団法人 全国個人事業主支援協会

COLUMN コラム

  • 運用でMysqlのトランザクションを使うときに気をつける事

ある時、本番DBで運用の作業を頼まれました。

運用マニュアルを軽く書いてレビューもOK、いざ本番オペレーションへ。

 

`start transaction;` を実施してからのオペレーションは順調だったが

途中で「中野さん、聞きたい事があるんだけど」と言われ、自分のMacbookを閉じてそちらに向かってしばらく会話。

 

そのあと席に戻るやいなや、slackのメッセージが。

「中野さん、本番環境でエラーが起こるんだけど。。。」

あれ!?と思い、思い返してみるとトランザクションをrollbackなりして、解放してない。。。

 

普通にレコードをupdateしてたりしたので

おそらくそれでブラウザの画面上で更新ができなかったと思われる。

ロックを解放したら正常に動くようになった。

 

参考:

https://qiita.com/RyutaKojima/items/a76f4cd4c94d1989a4a5

 

反省点:

・start transactionしたら途中で放置しない(呼ばれてもrollbackしてから席を立つ。)

・本番環境の操作をやる時には、予定表に入れるなりして周りに周知する

 

皆さんも気をつけて下さいね。

The following two tabs change content below.

中野 将大

最新記事 by 中野 将大 (全て見る)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア