Страница 1 из 1

Mysql не работает LOAD DATA LOCAL INFILE

Добавлено: 28 янв 2021, 18:30
Ihoryan
Здравствуйте!
Подскажите пожалуйста как импортировать базу данных через файл.
Делаю в консоли phpmyadmin

USE  `geonames`;
CREATE TABLE `geo_ua` (
    `geonameid` INT(11) NOT NULL,
    `name` VARCHAR(200) DEFAULT NULL,
    `asciiname` VARCHAR(200) DEFAULT NULL,
    `alternatenames` VARCHAR(4000) DEFAULT NULL,
    `latitude` DECIMAL(10 , 7 ) DEFAULT NULL,
    `longitude` DECIMAL(10 , 7 ) DEFAULT NULL,
    `fclass` CHAR(1) DEFAULT NULL,
    `fcode` VARCHAR(10) DEFAULT NULL,
    `country` VARCHAR(2) DEFAULT NULL,
    `cc2` VARCHAR(60) DEFAULT NULL,
    `admin1` VARCHAR(20) DEFAULT NULL,
    `admin2` VARCHAR(80) DEFAULT NULL,
    `admin3` VARCHAR(20) DEFAULT NULL,
    `admin4` VARCHAR(20) DEFAULT NULL,
    `population` INT(11) DEFAULT NULL,
    `elevation` INT(11) DEFAULT NULL,
    `gtopo30` INT(11) DEFAULT NULL,
    `timezone` VARCHAR(40) DEFAULT NULL,
    `moddate` DATE DEFAULT NULL,
    PRIMARY KEY (`geonameid`),
    KEY `name` (`name`),
    KEY `asciiname` (`asciiname`),
    KEY `latitude` (`latitude`),
    KEY `longitude` (`longitude`),
    KEY `fclass` (`fclass`),
    KEY `fcode` (`fcode`),
    KEY `country` (`country`),
    KEY `cc2` (`cc2`),
    KEY `admin1` (`admin1`),
    KEY `population` (`population`),
    KEY `elevation` (`elevation`),
    KEY `timezone` (`timezone`)
)  ENGINE=MYISAM DEFAULT CHARSET=UTF8 COLLATE UTF8_UNICODE_CI;

LOAD DATA LOCAL INFILE 'C:\Users\User\Downloads\UA.txt'
INTO TABLE `geo_ua`
CHARACTER SET 'UTF8';

КонФИГ MariaDB 10.3
local-infile = 1
КонФИГ PHP_7.4
mysqli.allow_local_iиfile = on

Ошибка:
#2000 - LOAD DATA LOCAL INFILE is forbidden, check mysqli.allow_local_infile

Помогите пожалуйста :?

Re: Mysql не работает LOAD DATA LOCAL INFILE

Добавлено: 28 янв 2021, 22:56
Максим
Вам же всё в ошибке написало, local_infile разрешите в настройках mysql и php.

Re: Mysql не работает LOAD DATA LOCAL INFILE

Добавлено: 29 янв 2021, 10:52
Ihoryan
Ihoryan писал(а): 28 янв 2021, 18:30 КонФИГ MariaDB 10.3
local-infile = 1
КонФИГ PHP_7.4
mysqli.allow_local_infile = on
эти настройки? так без результату!!! ошибка не исчезает :roll:

Re: Mysql не работает LOAD DATA LOCAL INFILE

Добавлено: 29 янв 2021, 12:46
ERserver
Из интернета:

Варианты решения проблемы
1. В файле php.ini прописать
mysqli.allow_local_infile = On

2. Прописать строку local-infile=ON в конфиг файл my.cnf в секции [mysqld] [mysql].

Примерный путь к файлу
/etc/my.cnf
или
/etc/mysql/my.cnf

Секции в файле
[mysqld]
local-infile=ON

[mysql]
local-infile=ON

После этого требуется перезапустить MySQL, например командой service mysql restart.

Команда для проверки режима: SHOW VARIABLES LIKE 'local_infile'

Еще вариант решения проблемы, установить родной драйвер mysql вместо php5-mysql, команда для ОС Debian:

apt-get install php5-mysqlnd

Ошибка mysqli_query(): LOAD DATA LOCAL INFILE forbidden
Необходимо в файле php.ini изменить параметр mysqli.allow_local_infile (по умолчанию он закоментирован точкой с запятой)
mysqli.allow_local_infile = On

Re: Mysql не работает LOAD DATA LOCAL INFILE

Добавлено: 29 янв 2021, 14:35
ERserver
Лишнее написал. То есть Debian тут не причем.

Re: Mysql не работает LOAD DATA LOCAL INFILE

Добавлено: 30 янв 2021, 21:00
Ihoryan
Все это делал! результат тот же (