$ 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にしてやれば上手くいくはず。-
secure_file_privで指定した以外のディレクトリーからLOAD DATA INFILEしようとすると発生する- See also, 日々の覚書: MySQL 5.7でLOAD DATA INFILEに失敗する時に疑うこと(--secure-file-privの暗黙のデフォルトが少し変わった)
-
skip_grant_tablesな状態でCREATE USER,GRANT,ALTER USER,REVOKE,SET PASSWORD,FLUSH PRIVILEGESなどを実行すると発生- rootのパスワード忘れて
skip_grant_tablesしているのであれば、mysql.userを直接UPDATEして再起動してくだしあ
-
- Super権限がないのに
read_onlyなインスタンスで書き込みのステートメントを走らせた場合に
- Super権限がないのに
-
- Super権限持ち &&
super_read_onlyなインスタンスで書き込みのステートメントを走らせた場合に - Super権限がないとそもそも
read_onlyの方で怒られる - See also, 日々の覚書: Percona Server 5.6.21にsuper_read_onlyが来ました
- Super権限持ち &&
おそらくここまでがよくあるやつら。
ここからはコードをさらって見つけた変なやつら。
ここからはコードをさらって見つけた変なやつら。
- “—event-scheduler=DISABLED or —skip-grant-tables”
- これ全部で1区切り
- 実は event_scheduler は
ON,OFF,DISABLEDの3通りを取ることができて、DISABLEDで起動するとSET GLOBALでONにできなくなる(それをやろうとするとこれが出る) skip_grant_tablesでもイベントスケジューラーいじれないのね(知らなかった)
embedded- 組み込み用mysqldである
libmysqldを使っている場合に行ベースのバイナリーログイベント(mysqlbinlogでデコードしたものを含む)を食わせると発生 - 初めて知った…
- 組み込み用mysqldである
-
- おそらくバグ以外では起こりえないはず(ってコメントにも書いてある)
- https://github.com/mysql/mysql-server/blob/mysql-5.7.24/sql/sql_load.cc#L456-L468
あー面白かった。
0 件のコメント :
コメントを投稿