Не грузит LOAD DATA INFILE

xpycteamset
На сайте с 05.10.2009
Offline
129
901

Доброго времени суток.

Задача состоит в том, что бы вставлять по несколько млн. строк.

Пытаюсь понять как работает LOAD DATA INFILE но никак не пойму.

Путь верный (от самого корня), файл вроде как корректный,

Файл

1;1;1;1;1;1;1;1;1;
2;2;2;2;2;2;2;2;2;

Код

$url_file= __DIR__.'/test.csv'; 

mysqli_query($link, "LOAD DATA INFILE '$url_file' INTO TABLE `price`
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\r\n'
(t1,t2,t3,t4,t5,t6,t7,t8,t9)");

Ошибок нет, пустой экран, пароли логины/верны так как SELECT работает прекрасно.

В чем может загвоздка?

rustelekom
На сайте с 20.04.2005
Offline
478
#1

А может в настройках сервера баз MySQL просто запрещена LOAD DATA INFILE? На шаред хостинге обычно она запрещена.

SSD KVM ВПС от 149 ₽ в Германии. SSD хостинг от 119 ₽ в Германии или России |Выделенные серверы в Европе, Азии, США и РФ (https://www.robovps.biz/) Контакты: Telegram чат (https://t.me/rustelekom_bot) или LiveChat на любом из наших сайтов.
xpycteamset
На сайте с 05.10.2009
Offline
129
#2

Разрешено. На вдс все делаю.

igor3310
На сайте с 27.02.2011
Offline
118
#3

Попробуйте запрос к БД

GRANT FILE ON * . * TO 'SVOY_USER'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0

Что показывает

SHOW VARIABLES LIKE "secure_file_priv";
- надо пустота.

И в конфиге мукуля:

в my.cfg в раздел [mysqld] добавить строку secure-file-priv = ""

xpycteamset
На сайте с 05.10.2009
Offline
129
#4
igor3310:
И в конфиге мукуля:
в my.cfg в раздел [mysqld] добавить строку secure-file-priv = ""

Добавил и пошел делать запросы

Делал запросы через phpmyadmin

igor3310:
Попробуйте запрос к БД
Цитата:
GRANT FILE ON * . * TO 'SVOY_USER'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0

Выдало

MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0.0005 сек.)

igor3310:
Что показывает
Цитата:
SHOW VARIABLES LIKE "secure_file_priv";
- надо пустота.

Variable_name Value

secure_file_priv

xpycteamset
На сайте с 05.10.2009
Offline
129
#5

Не будет еще советов на что обратить внимание или где найти касяк?

S
На сайте с 30.09.2016
Offline
459
#6

Из-под рута мускульного пробовали делать запрос? Ну или из-под юзера с правами, как у рута?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
xpycteamset
На сайте с 05.10.2009
Offline
129
#7

Не понятно в чем касяк был, но импорт начал проходить

$sqk = mysqli_query($link, "LOAD DATA INFILE '$path' INTO TABLE `price` FIELDS TERMINATED BY ';' IGNORE 1 LINES");

xpycteamset
На сайте с 05.10.2009
Offline
129
#8

Подниму тему.

Наткнулся на маленькую проблему.

Есть строка в файле

"65209SC012";"6-ОЕ СТЕКЛО \";"SUBARU ";"13771.96";"3";"1";"1"

И из-за того что перед " стоит \ весь файл не грузится.

Запрос такой

mysqli_query($link, "LOAD DATA INFILE '$path1' INTO TABLE `price_tmp_$tmp_var`
character set cp1251
FIELDS TERMINATED BY ';'
enclosed by '\"'
IGNORE 1 LINES
($itog_v1)
SET id_firma=$firmaid,
id_set_price=$setprice,
id_firma_srok=$firmasrok,
date = NOW(), IDBREND=0"

Как быть то?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий