Quantcast
Channel: 日々の覚書
Viewing all articles
Browse latest Browse all 581

ER_OPTION_PREVENTS_STATEMENT(Error: 1290) The MySQL server is running with the .. について

$
0
0
$ perror 1290
MySQL error code MY-001290 (ER_OPTION_PREVENTS_STATEMENT): The MySQL server is running with the %s option so it cannot execute this statement
要は、「 %sだからそのSQLは実行できないよ」というエラー。
%sの部分に何が入るかは何パターンかあるけど、基本的にオプションの名前が入るので、SQLを成功させたければ %sをOFFにしてやれば上手くいくはず。

MySQL 5.7.24のコードから ER_OPTION_PREVENTS_STATEMENTを投げるところを引いてみた感じ、あり得る %sのパターンはたぶんこう。

おそらくここまでがよくあるやつら。
ここからはコードをさらって見つけた変なやつら。
  • “—event-scheduler=DISABLED or —skip-grant-tables”
    • これ全部で1区切り
    • 実は event_schedulerON, OFF, DISABLEDの3通りを取ることができて、 DISABLEDで起動すると SET GLOBALでONにできなくなる(それをやろうとするとこれが出る)
    • skip_grant_tablesでもイベントスケジューラーいじれないのね(知らなかった)
  • embedded
    • 組み込み用mysqldである libmysqldを使っている場合に行ベースのバイナリーログイベント( mysqlbinlogでデコードしたものを含む)を食わせると発生
    • 初めて知った…
あー面白かった。

Viewing all articles
Browse latest Browse all 581

Trending Articles