
MySQL エラー 1290 (HY000) -- --secure-file-priv 問題を修正する方法
次を使用して MySQL スクリプトの結果をテキスト ファイルにエクスポートしようとするとINTO OUTFILE を実行すると、次のエラーが発生する場合があります:
1 | ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
|
ログイン後にコピー
このエラーは、MySQL サーバーの secure_file_priv オプションが特定のディレクトリへの書き込みを制限しているために発生します。
Ubuntu 16.04
許可された書き込みディレクトリの特定:
1 | mysql> SELECT @@GLOBAL.secure_file_priv;
|
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
許可されたディレクトリへの書き込み:
1 | mysql> SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',' ;
|
ログイン後にコピー
Mac OSX (MAMP)
許可された書き込みディレクトリの特定:
1 | mysql> SELECT @@GLOBAL.secure_file_priv;
|
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
NULL 値:
結果が NULL の場合は、~/.my.cnf ファイルを作成します。
1 2 3 4 | $ vi ~/.my.cnf
[mysqld_safe]
[mysqld]
secure_file_priv= "/Users/russian_spy/"
|
ログイン後にコピー
NULL 以外の値:
/etc/my.cnf ファイルを変更します:
1 2 | [mysqld]
secure_file_priv= "/Users/russian_spy/"
|
ログイン後にコピー
MySQL を再起動しますそして確認します:
- MySQL サーバーを停止します (MAMP: "Stop Servers")。
- ~/.my.cnf または /etc/my.cnf の secure_file_priv を更新します。
- MySQL サーバーを起動します (MAMP: "Start Servers")。
1 | mysql> SELECT @@GLOBAL.secure_file_priv;
|
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
テーブルを CSV ファイルにエクスポート:
1 | mysql> SELECT * FROM train INTO OUTFILE '/Users/russian_spy/test.csv' FIELDS TERMINATED BY ',' ;
|
ログイン後にコピー
以上がMySQL エラー 1290 (HY000) --secure-file-priv 問題を解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。