Se MySQL Debian-7 minimal non può usare local_infile
, dai un'occhiata a tutti i make file usati per la compilazione per vedere se è disabilitato di default o se local_infile
è abilitato per Debian-7.
Prima di dedicare tutto questo tempo, esegui quanto segue:
SHOW GLOBAL VARIABLES LIKE 'local_infile';
SET GLOBAL local_infile = 'ON';
SHOW GLOBAL VARIABLES LIKE 'local_infile';
Dovrebbe echeggiare quanto segue:
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>
Se dice ancora 'OFF'
, quindi esamina attentamente le impostazioni del compilatore per abilitarlo.
Se è impostato su 'ON'
, stai bene.
Tieni presente che non ho detto
SET GLOBAL local_infile = 1;
Ho detto usa
SET GLOBAL local_infile = 'ON';
L'opzione local_infile è booleana, non numerica.
Se lo imposti in my.cnf
[mysqld]
local_infile=ON
e anche il riavvio di mysql non funziona, dovrai avviare mysql con qualcosa del genere:
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
o forse aggiungendo questo a my.cnf
[mysqld]
init-file=/var/lib/mysql/init_file.sql
quindi riavvia mysql.
Provalo !!!