読者です 読者をやめる 読者になる 読者になる

MySQLSandboxでbinlogを無効にする

普段ローカルで作業するときはMySQLSandboxをたちあげて、さくっとテストを流したりしているんですが、
あるときから突然

Binary logging not possible. Message: Statement cannot be logged to the binary log in row-based nor statement-based format [statement: ~~~~ ]

と出てコケるようになってしまいました。

原因はメッセージに出ているように、binlogのフォーマットがstatementになっているからなのですが、
~/.my.cnfは置いてないし、プロジェクトのmy.cnfにはbinlogの設定書いてないしと何が原因か分からず。binlogは出さなくていいので、ただ設定をオフにしたい…

そこでそういえばと思ってps aux | grep mysqlしたら、--defaults-fileに設定されている~/sandboxes/version/node*/my.sandbox.cnfに
log-bin=mysql-binが書かれていて、これや!とコメントアウト&restart_allしたら無事動くようになりました。

my.sandbox.cnfを生成しているところがきっとあるはずなので、なにかオプションをくわせたら or EXPORTしたらいいかんじにしてくれそうなのですが、時間切れ。
もうちょっとみてみます。