GNU/Linux >> Linux の 問題 >  >> Linux

mysql で LOAD DATA LOCAL INFILE を有効にする

MySQL Debian-7 最小構成が local_infile を使用できない場合 、コンパイルに使用されるすべてのメイクファイルを調べて、デフォルトで無効になっているかどうか、または local_infile かどうかを確認します Debian-7 で有効になっています。

そのような時間を取る前に、以下を実行してください:

SHOW GLOBAL VARIABLES LIKE 'local_infile';
SET GLOBAL local_infile = 'ON';
SHOW GLOBAL VARIABLES LIKE 'local_infile';

次のように表示されます:

mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | OFF   |
+---------------+-------+
1 row in set (0.00 sec)

mysql> SET GLOBAL local_infile = 'ON';
Query OK, 0 rows affected (0.06 sec)

mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | ON    |
+---------------+-------+
1 row in set (0.00 sec)

mysql>

それでも 'OFF' と表示される場合 、次にコンパイラ設定を詳しく調べて有効にします。

'ON' に設定した場合 、大丈夫です。

私が言っていないことに注意してください

SET GLOBAL local_infile = 1;

私は使うと言いました

SET GLOBAL local_infile = 'ON';

オプション local_infile はブール値であり、数値ではありません。

これを my.cnf に設定する場合

[mysqld]
local_infile=ON

また、mysql を再起動しても機能しません。次のような方法で mysql を起動する必要があります:

echo "SET GLOBAL local_infile = 'ON';" > /var/lib/mysql/init_file.sql
chown mysql:mysql /var/lib/mysql/init_file.sql
service mysql stop
service mysql start --init-file=/var/lib/mysql/init_file.sql
rm -f /var/lib/mysql/init_file.sql

またはおそらくこれを my.cnf に追加します

[mysqld]
init-file=/var/lib/mysql/init_file.sql

その後、mysql を再起動してください。

試してみてください!!!


Linux
  1. Mysqlデータディレクトリを移動する方法は?

  2. クラウドバックアップとローカルバックアップ:データを保存する最も安全な方法

  3. データベースをローカルMySQLインスタンスにインポートする

  1. Linuxサーバー上のMySQLデータベースを自動的にバックアップします

  2. mysql コンテナーにデータをコミットする

  3. データ ディレクトリの再配置後に mysql が起動しない

  1. 負荷分散されたWebサーバーとMySQLサーバー

  2. MySQL –InnoDBのテーブルごとのデータへの変換

  3. cPanel/WHMサーバー上のMySQL/MariaDBデータディレクトリの場所を安全に変更するにはどうすればよいですか?