$ 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 件のコメント :
コメントを投稿