4.5.5 mysqlimport — Программа импорта данных
Клиент mysqlimport предоставляет командную строку для LOAD
DATA SQL-заявления. Большинство опций для mysqlimport напрямую соответствуют предложениям синтаксиса LOAD DATA. См. Раздел 13.2.6, «LOAD DATA Statement».
Вызвать mysqlimport можно так:
mysqlimport [options] db_name textfile1 [textfile2 ...]
Для каждого текстового файла, указанного в командной строке, mysqlimport удаляет любое расширение из имени файла и использует результат для определения имени таблицы, в которую следует импортировать содержимое файла. Например, файлы, имеющие имена patient.txt, patient.text и patient, будут импортированы в таблицу с именем patient.
mysqlimport поддерживает следующие опции, которые могут быть указаны в командной строке или в группах опций [mysqlimport] и [client] файла опций. Сведения о файлах опций, используемых программами MySQL, см. в Разделе 4.2.2.2, «Использование файлов опций».
Таблица 4.17 Параметры mysqlimport
| Имя параметра | Описание | Введено | Устарело |
|---|---|---|---|
| --bind-address | Использовать указанный сетевой интерфейс для подключения к MySQL Server | ||
| --character-sets-dir | Директория, где находятся наборы символов | ||
| --columns | Этот параметр принимает в качестве значения список имён столбцов, разделённых запятыми | ||
| --compress | Сжать всю информацию, передаваемую между клиентом и сервером | ||
| --debug | Записать отладочный журнал | ||
| --debug-check | Вывести отладочную информацию при завершении программы | ||
| --debug-info | Вывести отладочную информацию, статистику использования памяти и ЦП при завершении программы | ||
| --default-auth | Подключаемый модуль для аутентификации | ||
| --default-character-set | Указать набор символов по умолчанию | ||
| --defaults-extra-file | Прочитать указанный файл параметров дополнительно к обычным файлам параметров | ||
| --defaults-file | Прочитать только указанный файл параметров | ||
| --defaults-group-suffix | Значение суффикса группы параметров | ||
| --delete | Очистить таблицу перед импортом текстового файла | ||
| --enable-cleartext-plugin | Включить плагин аутентификации с открытым текстом | 5.7.10 | |
| --fields-enclosed-by | Этот параметр имеет то же значение, что и соответствующая клауза для LOAD DATA | ||
| --fields-escaped-by | Этот параметр имеет то же значение, что и соответствующая клауза для LOAD DATA | ||
| --fields-optionally-enclosed-by | Этот параметр имеет то же значение, что и соответствующая клауза для LOAD DATA | ||
| --fields-terminated-by | Этот параметр имеет то же значение, что и соответствующая клауза для LOAD DATA | ||
| --force | Продолжить, даже если произошла ошибка SQL | ||
| --get-server-public-key | Запросить открытый ключ сервера RSA | 5.7.23 | |
| --help | Отобразить сообщение справки и выйти | ||
| --host | Хост, на котором расположен MySQL-сервер | ||
| --ignore | См. описание параметра --replace | ||
| --ignore-lines | Пропустить первые N строк файла данных | ||
| --lines-terminated-by | Этот параметр имеет то же значение, что и соответствующая клауза для LOAD DATA | ||
| --local | Читать файлы ввода локально с хоста клиента | ||
| --lock-tables | Заблокировать все таблицы для записи перед обработкой текстовых файлов | ||
| --login-path | Прочитать параметры пути входа из .mylogin.cnf | ||
| --low-priority | Использовать LOW_PRIORITY при загрузке таблицы | ||
| --no-defaults | Не читать файлы параметров | ||
| --password | Пароль для подключения к серверу | ||
| --pipe | Подключение к серверу с помощью именованной трубы (только Windows) | ||
| --plugin-dir | Директория, где установлены плагины | ||
| --port | Номер порта TCP/IP для подключения | ||
| --print-defaults | Вывести параметры по умолчанию | ||
| --protocol | Протокол транспорта для использования | ||
| --replace | Параметры --replace и --ignore управляют обработкой строк ввода, которые дублируют существующие строки по значениям уникальных ключей | ||
| --secure-auth | Не отправлять пароли на сервер в старом формате (до 4.1) | Да | |
| --server-public-key-path | Имя пути к файлу, содержащему открытый ключ RSA | 5.7.23 | |
| --shared-memory-base-name | Имя общей памяти для подключений общей памяти (только Windows) | ||
| --silent | Выводить вывод только при возникновении ошибок | ||
| --socket | Файл Unix-сокет или именованная труба Windows для использования | ||
| --ssl | Включить шифрование соединения | ||
| --ssl-ca | Файл, содержащий список доверенных центров сертификации SSL | ||
| --ssl-capath | Директория, содержащая сертификаты доверенных центров сертификации SSL | ||
| --ssl-cert | Файл, содержащий X.509-сертификат | ||
| --ssl-cipher | Разрешенные шифры для шифрования соединения | ||
| --ssl-crl | Файл, содержащий списки отзыва сертификатов | ||
| --ssl-crlpath | Директория, содержащая файлы списков отзыва сертификатов | ||
| --ssl-key | Файл, содержащий X.509-ключ | ||
| --ssl-mode | Желаемое состояние безопасности соединения с сервером | 5.7.11 | |
| --ssl-verify-server-cert | Проверить имя хоста по имени общего имени (Common Name) в сертификате сервера | ||
| --tls-version | Разрешенные протоколы TLS для шифрованных соединений | 5.7.10 | |
| --use-threads | Количество потоков для параллельной загрузки файлов | ||
| --user | Имя пользователя MySQL для подключения к серверу | ||
| --verbose | Подробный режим | ||
| --version | Отобразить информацию о версии и выйти |
-
--help,-?Формат командной строки --helpОтобразить сообщение справки и выйти.
-
Формат командной строки --bind-address=ip_addressНа компьютере с несколькими сетевыми интерфейсами используйте этот параметр для выбора интерфейса, который будет использоваться для подключения к серверу MySQL.
-
Формат командной строки --character-sets-dir=pathТип Строка Значение по умолчанию [none]Каталог, в котором установлены наборы символов. См. Раздел 10.15, «Настройка наборов символов».
-
--columns=,column_list-ccolumn_listФормат командной строки --columns=column_listЭтот параметр принимает список имен столбцов, разделенных запятыми. Порядок имен столбцов указывает, как сопоставить столбцы файла данных со столбцами таблицы.
-
--compress,-CФормат командной строки --compress[={OFF|ON}]Тип Булево Значение по умолчанию OFFСжать всю информацию, передаваемую между клиентом и сервером, если это возможно. См. Раздел 4.2.6, «Управление сжатием подключений».
-
--debug[=,debug_options]-# [debug_options]Формат командной строки --debug[=debug_options]Тип Строка Значение по умолчанию d:t:oЗаписать отладочный журнал. Типичная строка
debug_options—d:t:o,. По умолчанию —file_named:t:o.Этот параметр доступен только если MySQL был скомпилирован с использованием
WITH_DEBUG. Выпускные двоичные файлы MySQL, предоставленные Oracle, не компилируются с этим параметром. -
Формат командной строки --debug-checkТип Булево Значение по умолчанию FALSEВывести отладочную информацию при завершении программы.
Этот параметр доступен только если MySQL был скомпилирован с использованием
WITH_DEBUG. Выпускные двоичные файлы MySQL, предоставленные Oracle, не компилируются с этим параметром. -
Формат командной строки --debug-infoТип Булево Значение по умолчанию FALSEВывести отладочную информацию и статистику использования памяти и ЦП при завершении программы.
Этот параметр доступен только если MySQL был скомпилирован с использованием
WITH_DEBUG. Выпускные двоичные файлы MySQL, предоставленные Oracle, не компилируются с этим параметром. -
--default-character-set=charset_nameФормат командной строки --default-character-set=charset_nameТип Строка Использовать
charset_nameв качестве набора символов по умолчанию. См. Раздел 10.15, «Настройка наборов символов». -
Формат командной строки --default-auth=pluginТип Строка Подсказка о том, какой плагин проверки подлинности клиента следует использовать. См. Раздел 6.2.13, «Подключаемые модули проверки подлинности».
-
--defaults-extra-file=file_nameФормат командной строки --defaults-extra-file=file_nameТип Имя файла Прочитать этот файл параметров после глобального файла параметров, но (в Unix) перед файлом параметров пользователя. Если файл не существует или недоступен, произойдёт ошибка. Если
file_nameне является абсолютным именем пути, оно интерпретируется относительно текущей директории.Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».
-
Формат командной строки --defaults-file=file_nameТип Имя файла Использовать только указанный файл параметров. Если файл не существует или недоступен, произойдёт ошибка. Если
file_nameне является абсолютным именем пути, оно интерпретируется относительно текущей директории.Исключение: даже с
--defaults-file, клиентские программы читают.mylogin.cnf.Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».
-
Формат командной строки --defaults-group-suffix=strТип Строка Прочитать не только обычные группы параметров, но и группы с обычными именами и суффиксом
str. Например, mysqlimport обычно читает группы[client]и[mysqlimport]. Если этот параметр задан как--defaults-group-suffix=_other, mysqlimport также читает группы[client_other]и[mysqlimport_other].Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».
-
--delete,-DФормат командной строки --deleteОчистить таблицу перед импортом текстового файла.
-
Командная строка --enable-cleartext-pluginВведено 5.7.10 Тип Булево Значение по умолчанию FALSEВключить плагин аутентификации
mysql_clear_passwordв открытом виде. (См. Раздел 6.4.1.6, «Клиентская аутентификация с плагином cleartext».)Этот параметр был добавлен в MySQL 5.7.10.
-
--fields-terminated-by=...,--fields-enclosed-by=...,--fields-optionally-enclosed-by=...,--fields-escaped-by=...Командная строка --fields-terminated-by=stringТип Строка Командная строка --fields-enclosed-by=stringТип Строка Командная строка --fields-optionally-enclosed-by=stringТип Строка Командная строка --fields-escaped-byТип Строка Эти параметры имеют то же значение, что и соответствующие предложения для
LOAD DATA. См. Раздел 13.2.6, «Оператор LOAD DATA». -
--force,-fКомандная строка --forceИгнорировать ошибки. Например, если для текстового файла нет таблицы, продолжить обработку оставшихся файлов. Без
--force, mysqlimport завершает работу, если таблица отсутствует. -
Командная строка --get-server-public-keyВведено 5.7.23 Тип Булево Запросить у сервера открытый ключ, необходимый для обмена паролями на основе пары ключей RSA. Этот параметр относится к клиентам, которые аутентифицируются с помощью плагина аутентификации
caching_sha2_password. Для этого плагина сервер не отправляет открытый ключ, если его не запросить. Этот параметр игнорируется для учётных записей, которые не аутентифицируются с этим плагином. Он также игнорируется, если обмен паролями на основе RSA не используется, как это происходит, когда клиент подключается к серверу с помощью защищённого соединения.Если указан
--server-public-key-path=и указывает действительный файл открытого ключа, он имеет приоритет надfile_name--get-server-public-key.Дополнительная информация о плагине
caching_sha2_passwordприведена в Разделе 6.4.1.4, «Caching SHA-2 Pluggable Authentication».Параметр
--get-server-public-keyбыл добавлен в MySQL 5.7.23. -
--host=,host_name-hhost_nameКомандная строка --host=host_nameТип Строка Значение по умолчанию localhostИмпортировать данные на MySQL-сервер на заданном хосте. Хост по умолчанию —
localhost. -
--ignore,-iКомандная строка --ignoreСм. описание параметра
--replace. -
Командная строка --ignore-lines=#Тип Числовое Игнорировать первые
Nстрок файла данных. -
Командная строка --lines-terminated-by=stringТип Строка Этот параметр имеет то же значение, что и соответствующее предложение для
LOAD DATA. Например, для импорта файлов Windows, в которых строки завершаются парами возврата каретки/перевода строки, используйте--lines-terminated-by="\r\n". (Возможно, вам придётся удвоить обратные косые черты в зависимости от правил экранирования вашего интерпретатора команд.) См. Раздел 13.2.6, «Оператор LOAD DATA». -
--local,-LКомандная строка --localТип Булево Значение по умолчанию FALSEПо умолчанию файлы считываются сервером на серверном хосте. С этим параметром mysqlimport считывает входные файлы локально на хосте клиента.
Успешное выполнение операций загрузки
LOCALв mysqlimport также требует, чтобы сервер разрешал локальную загрузку; см. Раздел 6.1.6, «Учет соображений безопасности для LOAD DATA LOCAL» -
--lock-tables,-lКомандная строка --lock-tablesБлокировать все таблицы для записи перед обработкой любых текстовых файлов. Это гарантирует, что все таблицы синхронизированы на сервере.
-
Командная строка --login-path=nameТип Строка Считывать параметры из указанного пути авторизации в файле пути авторизации
.mylogin.cnf. «Путь авторизации» — это группа параметров, содержащая параметры, которые указывают, к какому MySQL-серверу подключиться и под какой учетной записью пройти аутентификацию. Для создания или изменения файла пути авторизации используйте утилиту mysql_config_editor. См. Раздел 4.6.6, «mysql_config_editor — Утилита конфигурации MySQL».Дополнительную информацию об этом и других параметрах файлов см. в Разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».
-
Формат командной строки --low-priorityИспользуйте
LOW_PRIORITYпри загрузке таблицы. Это влияет только на движки хранения, которые используют только блокировку на уровне таблицы (такие какMyISAM,MEMORYиMERGE). -
Формат командной строки --no-defaultsНе читать файлы параметров. Если запуск программы терпит неудачу из-за чтения неизвестных параметров из файла параметров,
--no-defaultsможет быть использован для предотвращения их чтения.Исключением является файл
.mylogin.cnf, который читается во всех случаях, если он существует. Это позволяет указывать пароли более безопасным способом, чем в командной строке, даже когда используется--no-defaults. Для создания файла.mylogin.cnfиспользуйте утилиту mysql_config_editor. См. Раздел 4.6.6, “mysql_config_editor — Утилита конфигурации MySQL”.Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, “Параметры командной строки, влияющие на обработку файлов параметров”.
-
--password[=,password]-p[password]Формат командной строки --password[=password]Тип Строка Пароль учетной записи MySQL, используемой для подключения к серверу. Значение пароля необязательно. Если оно не указано, mysqlimport запросит его. Если указано, не должно быть пробела между
--password=или-pи следующим за ним паролем. Если параметр пароля не указан, по умолчанию не передается пароль.Указание пароля в командной строке следует считать небезопасным. Чтобы избежать ввода пароля в командной строке, используйте файл параметров. См. Раздел 6.1.2.1, “Рекомендации для пользователей по безопасности паролей”.
Чтобы явно указать, что пароль отсутствует и что mysqlimport не должен запрашивать его, используйте параметр
--skip-password. -
--pipe,-WФормат командной строки --pipeТип Строка В Windows подключайтесь к серверу с помощью именованного канала. Этот параметр применяется только в том случае, если сервер был запущен с включенной системной переменной
named_pipeдля поддержки подключений по именованным каналам. Кроме того, пользователь, осуществляющий подключение, должен быть членом группы Windows, указанной системной переменнойnamed_pipe_full_access_group. -
Формат командной строки --plugin-dir=dir_nameТип Имя каталога Каталог, в котором следует искать плагины. Укажите этот параметр, если используется параметр
--default-authдля указания плагина аутентификации, но mysqlimport не находит его. См. Раздел 6.2.13, “Плагины аутентификации”. -
--port=,port_num-Pport_numФормат командной строки --port=port_numТип Числовое Значение по умолчанию 3306Номер порта для подключений TCP/IP.
-
Формат командной строки --print-defaultsВыводит имя программы и все параметры, полученные из файлов параметров.
Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, “Параметры командной строки, влияющие на обработку файлов параметров”.
-
--protocol={TCP|SOCKET|PIPE|MEMORY}Формат командной строки --protocol=typeТип Строка Значение по умолчанию [see text]Допустимые значения TCPSOCKETPIPEMEMORYПротокол передачи для подключения к серверу. Полезно, когда другие параметры подключения обычно приводят к использованию протокола, отличного от желаемого. Подробности о допустимых значениях см. в Разделе 4.2.5, “Протоколы передачи подключений”.
-
--replace,-rФормат командной строки --replaceПараметры
--replaceи--ignoreуправляют обработкой строк входных данных, которые дублируют существующие строки по значениям уникальных ключей. Если вы указываете--replace, новые строки заменяют существующие строки, имеющие одинаковое значение уникального ключа. Если вы указываете--ignore, строки входных данных, дублирующие существующую строку по уникальному значению ключа, пропускаются. Если ни один из параметров не указан, при обнаружении дублирующего значения ключа произойдет ошибка, и остальная часть текстового файла будет проигнорирована. -
Формат командной строки --secure-authУстарело Да Не отправлять пароли на сервер в старом формате (до версии 4.1). Это предотвращает подключения, за исключением серверов, использующих новый формат пароля.
Начиная с MySQL 5.7.5, этот параметр устарел; ожидайте его удаления в будущих версиях MySQL. Он всегда включен, и попытка его отключения (
--skip-secure-auth,--secure-auth=0) приводит к ошибке. До MySQL 5.7.5 этот параметр включен по умолчанию, но может быть отключен.ПримечаниеПароли, использующие метод хеширования до версии 4.1, менее безопасны, чем пароли, использующие родной метод хеширования паролей, и их следует избегать. Пароли до версии 4.1 устарели, и поддержка их была удалена в MySQL 5.7.5. Инструкции по обновлению учетных записей см. в Разделе 6.4.1.3, “Миграция от хеширования паролей до версии 4.1 и плагина mysql_old_password”.
-
--server-public-key-path=file_nameФормат командной строки --server-public-key-path=file_nameВведено 5.7.23 Тип Имя файла Путь к файлу в формате PEM, содержащему копию открытого ключа клиента, необходимую серверу для обмена паролями на основе пары ключей RSA. Этот параметр применяется к клиентам, которые аутентифицируются с помощью плагина аутентификации
sha256_passwordилиcaching_sha2_password. Этот параметр игнорируется для учетных записей, которые не аутентифицируются с помощью одного из этих плагинов. Он также игнорируется, если обмен паролями на основе RSA не используется, как в случае, когда клиент подключается к серверу с использованием защищённого соединения.Если
--server-public-key-path=задан и указывает на допустимый файл открытого ключа, он имеет приоритет надfile_name--get-server-public-key.Для
sha256_password, этот параметр применяется только в том случае, если MySQL был скомпилирован с использованием OpenSSL.Сведения о плагинах
sha256_passwordиcaching_sha2_passwordсм. в разделе 6.4.1.5, «SHA-256 Pluggable Authentication» и разделе 6.4.1.4, «Caching SHA-2 Pluggable Authentication».Параметр
--server-public-key-pathбыл добавлен в MySQL 5.7.23. -
--shared-memory-base-name=nameФормат командной строки --shared-memory-base-name=nameЗависит от платформы Windows В Windows, имя разделяемой памяти для подключений, использующих общую память к локальному серверу. Значение по умолчанию -
MYSQL. Имя разделяемой памяти чувствительно к регистру.Этот параметр применяется только в том случае, если сервер был запущен с включённой системной переменной
shared_memoryдля поддержки подключений с общей памятью. -
--silent,-sФормат командной строки --silentТихий режим. Вывод только при возникновении ошибок.
-
--socket=,path-SpathФормат командной строки --socket={file_name|pipe_name}Тип Строка Для подключений к
localhost, файл Unix-соккета для использования или, в Windows, имя именованной трубы.В Windows этот параметр применяется только в том случае, если сервер был запущен с включённой системной переменной
named_pipeдля поддержки подключений через именованные трубы. Кроме того, пользователь, производящий подключение, должен быть членом группы Windows, указанной в системной переменнойnamed_pipe_full_access_group. -
--ssl*Параметры, начинающиеся с
--ssl, указывают, следует ли подключаться к серверу с использованием шифрования, и указывают, где найти SSL-ключи и сертификаты. См. Параметры командной строки для защищённых подключений. -
Формат командной строки --tls-version=protocol_listВведено 5.7.10 Тип Строка Значение по умолчанию (≥ 5.7.28) TLSv1,TLSv1.1,TLSv1.2Значение по умолчанию (≤ 5.7.27) TLSv1,TLSv1.1,TLSv1.2(OpenSSL)TLSv1,TLSv1.1(yaSSL)Разрешённые TLS-протоколы для защищённых подключений. Значение — список одного или нескольких имён протоколов, разделённых запятыми. Протоколы, которые могут быть указаны для этого параметра, зависят от используемой библиотеки SSL для компиляции MySQL. Подробности см. в разделе 6.3.2, «TLS-протоколы и шифры защищённых подключений».
Этот параметр был добавлен в MySQL 5.7.10.
-
--user=,user_name-uuser_nameФормат командной строки --user=user_name,Тип Строка Имя пользователя учётной записи MySQL для подключения к серверу.
-
Формат командной строки --use-threads=#Тип Числовое Загрузка файлов параллельно с использованием
Nпотоков. -
--verbose,-vФормат командной строки --verboseРежим подробной информации. Выводить больше информации о действиях программы.
-
--version,-VФормат командной строки --versionОтобразить информацию о версии и завершить работу.
Вот пример сеанса, демонстрирующего использование mysqlimport:
$> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
$> ed
a
100 Max Sydow
101 Count Dracula
.
w imptest.txt
32
q
$> od -c imptest.txt
0000000 1 0 0 \t M a x S y d o w \n 1 0
0000020 1 \t C o u n t D r a c u l a \n
0000040
$> mysqlimport --local test imptest.txt
test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
$> mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id | n |
+------+---------------+
| 100 | Max Sydow |
| 101 | Count Dracula |
+------+---------------+
© 2025 Oracle
Licensed under the GPLv2 License.