Jeśli nie można używać minimalnego MySQL Debian-7 local_infile
, rozejrzyj się po plikach make używanych do kompilacji, aby sprawdzić, czy jest on domyślnie wyłączony lub czy local_infile
jest włączony dla Debian-7.
Przed poświęceniem tego czasu uruchom następujące czynności:
SHOW GLOBAL VARIABLES LIKE 'local_infile';
SET GLOBAL local_infile = 'ON';
SHOW GLOBAL VARIABLES LIKE 'local_infile';
Powinien odzwierciedlać następujące elementy:
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>
Jeśli nadal pojawia się komunikat 'OFF'
, zajrzyj głęboko w ustawienia kompilatora, aby go włączyć.
Jeśli jest ustawiony 'ON'
, wszystko jest w porządku.
Pamiętaj, że nie powiedziałem
SET GLOBAL local_infile = 1;
Powiedziałem use
SET GLOBAL local_infile = 'ON';
Opcja local_infile jest logiczna, nie numeryczny .
Jeśli to ustawienie my.cnf
[mysqld]
local_infile=ON
zrestartowanie mysql też nie działa, będziesz musiał uruchomić mysql z czymś takim:
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
a może dodanie tego do my.cnf
[mysqld]
init-file=/var/lib/mysql/init_file.sql
następnie uruchom ponownie mysql.
Spróbuj !!!
local_infile | ON
. Wygląda na to, że problemem nie jest mysql, alePHP
prawdopodobnie złącze / sterownik mysql-PHP (mysqli).$con = mysqli_init(); $con->options(MYSQLI_OPT_LOCAL_INFILE, true);
mysqli.allow_local_infile = On
było dla mnie dobre, ponieważGLOBAL local_infile = 'ON';
było już włączone.W przypadku domyślnej instalacji MySQL 8.0.20 w systemie Windows:
C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
.my.ini
plik za pomocą edytora tekstu.[client]
,[mysql]
w sekcji KLIENT i[mysqld]
w sekcji SERWER.Dodaj następującą instrukcję pod każdym z tych nagłówków:
local_infile=ON
Zapisz plik i uruchom ponownie usługę MySQL80 w lokalnych usługach Windows.
To powinno działać.
źródło