Se o mínimo do MySQL Debian-7 não puder ser usado local_infile
, verifique todos os arquivos make usados para compilar para ver se ele está desabilitado por padrão ou se local_infile
está habilitado para o Debian-7.
Antes de tomar esse tipo de tempo, execute o seguinte:
SHOW GLOBAL VARIABLES LIKE 'local_infile';
SET GLOBAL local_infile = 'ON';
SHOW GLOBAL VARIABLES LIKE 'local_infile';
Deve ecoar o seguinte:
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 ainda assim diz 'OFF'
, examine profundamente as configurações do compilador para habilitá-lo.
Se definido como 'ON'
, você está bem.
Por favor note que eu não disse
SET GLOBAL local_infile = 1;
Eu disse uso
SET GLOBAL local_infile = 'ON';
A opção local_infile é booleana, não numérica .
Se definir isso em my.cnf
[mysqld]
local_infile=ON
e reiniciar o mysql também não funciona, você terá que iniciar o mysql com algo como isto:
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
ou talvez adicionando isso a my.cnf
[mysqld]
init-file=/var/lib/mysql/init_file.sql
então reinicie o mysql.
De uma chance !!!
local_infile | ON
. Parece que o problema não é mysql, masPHP
ou provavelmente o conector / driver mysql-PHP (mysqli).$con = mysqli_init(); $con->options(MYSQLI_OPT_LOCAL_INFILE, true);
mysqli.allow_local_infile = On
foi bom para mim porqueGLOBAL local_infile = 'ON';
já estava ativado.