mysqlimport

MariaDB starting with 10.4.6

From MariaDB 10.4.6, mariadb-import is a symlink to mysqlimport.

MariaDB starting with 10.5.2

From MariaDB 10.5.2, mariadb-import is the name of the script, with mysqlimport a symlink .

mysqlimport loads tables from text files in various formats. The base name of the text file must be the name of the table that should be used. If one uses sockets to connect to the MariaDB server, the server will open and read the text file directly. In other cases the client will open the text file. The SQL command LOAD DATA INFILE is used to import the rows.

Using mysqlimport

The command to use mysqlimport and the general syntax is:

mysqlimport [OPTIONS] database textfile1 [textfile2 ...]

Options

mysqlimport supports the following options:

variable Description
--character-sets-dir=name Directory for character set files.
-c cols, --columns=cols Use only these columns to import the data to. Give the column names in a comma separated list. This is same as giving columns to LOAD DATA INFILE.
-C, --compress Use compression in server/client protocol.
-# [options] , --debug[=options] Output debug log. Often this is d:t:o,filename. The default is d:t:o.
--debug-check Check memory and open file usage at exit.
--debug-info Print some debug info at exit.
--default-auth=plugin Default authentication client-side plugin to use.
--default-character-set=name Set the default character set.
--defaults-extra-file=name Read this file after the global files are read. Must be given as the first option.
--defaults-file=name Only read default options from the given file name Must be given as the first option.
--defaults-group-suffix=name In addition to the given groups, also read groups with this suffix.
-d, --delete First delete all rows from table.
--fields-terminated-by=name Fields in the input file are terminated by the given string.
--fields-enclosed-by=name Fields in the import file are enclosed by the given character.
--fields-optionally-enclosed-by=name Fields in the input file are optionally enclosed by the given character.
--fields-escaped-by=name Fields in the input file are escaped by the given character.
-f, --force Continue even if we get an SQL error.
-?, --help Displays this help and exits.
-h name, --host=name Connect to host.
-i, --ignore If duplicate unique key was found, keep old row.
k, --ignore-foreign-keys Disable foreign key checks while importing the data. From MariaDB 10.3.16, MariaDB 10.25 and MariaDB 10.1.41.
--ignore-lines=n Ignore first n lines of data infile.
--lines-terminated-by=name Lines in the input file are terminated by the given string.
-L, --local Read all files through the client.
-l, --lock-tables Lock all tables for write (this disables threads).
--low-priority Use LOW_PRIORITY when updating the table.
--no-defaults Don't read default options from any option file. Must be given as the first option.
-p[passwd], --password[=passwd] Password to use when connecting to server. If password is not given it's asked from the terminal. Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.
--pipe, -W On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.
--plugin-dir Directory for client-side plugins.
-P num, --port=num Port number to use for connection or 0 for default to, in order of preference, my.cnf, the MYSQL_TCP_PORT environment variable, /etc/services, built-in default (3306).
--print-defaults Print the program argument list and exit. Must be given as the first option.
--protocol=name The protocol to use for connection (tcp, socket, pipe, memory).
-r, --replace If duplicate unique key was found, replace old row.
--shared-memory-base-name Shared-memory name to use for Windows connections using shared memory to a local server (started with the --shared-memory option). Case-sensitive.
-s, --silent Silent mode. Produce output only when errors occur.
-S, --socket=name For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use.
--ssl Enables TLS. TLS is also enabled even without setting this option when certain other TLS options are set. Starting with MariaDB 10.2, the --ssl option will not enable verifying the server certificate by default. In order to verify the server certificate, the user must specify the --ssl-verify-server-cert option.
--ssl-ca=name Defines a path to a PEM file that should contain one or more X509 certificates for trusted Certificate Authorities (CAs) to use for TLS. This option requires that you use the absolute path, not a relative path. See Secure Connections Overview: Certificate Authorities (CAs) for more information. This option implies the --ssl option.
--ssl-capath=name Defines a path to a directory that contains one or more PEM files that should each contain one X509 certificate for a trusted Certificate Authority (CA) to use for TLS. This option requires that you use the absolute path, not a relative path. The directory specified by this option needs to be run through the openssl rehash command. See Secure Connections Overview: Certificate Authorities (CAs) for more information. This option is only supported if the client was built with OpenSSL or yaSSL. If the client was built with GnuTLS or Schannel, then this option is not supported. See TLS and Cryptography Libraries Used by MariaDB for more information about which libraries are used on which platforms. This option implies the --ssl option.
--ssl-cert=name Defines a path to the X509 certificate file to use for TLS. This option requires that you use the absolute path, not a relative path. This option implies the --ssl option.
--ssl-cipher=name List of permitted ciphers or cipher suites to use for TLS. This option implies the --ssl option.
--ssl-crl=name Defines a path to a PEM file that should contain one or more revoked X509 certificates to use for TLS. This option requires that you use the absolute path, not a relative path. See Secure Connections Overview: Certificate Revocation Lists (CRLs) for more information. This option is only supported if the client was built with OpenSSL or Schannel. If the client was built with yaSSL or GnuTLS, then this option is not supported. See TLS and Cryptography Libraries Used by MariaDB for more information about which libraries are used on which platforms.
--ssl-crlpath=name Defines a path to a directory that contains one or more PEM files that should each contain one revoked X509 certificate to use for TLS. This option requires that you use the absolute path, not a relative path. The directory specified by this option needs to be run through the openssl rehash command. See Secure Connections Overview: Certificate Revocation Lists (CRLs) for more information. This option is only supported if the client was built with OpenSSL. If the client was built with yaSSL, GnuTLS, or Schannel, then this option is not supported. See TLS and Cryptography Libraries Used by MariaDB for more information about which libraries are used on which platforms.
--ssl-key=name Defines a path to a private key file to use for TLS. This option requires that you use the absolute path, not a relative path. This option implies the --ssl option.
--ssl-verify-server-cert Enables server certificate verification. This option is disabled by default.
--tls-version=name This option accepts a comma-separated list of TLS protocol versions. A TLS protocol version will only be enabled if it is present in this list. All other TLS protocol versions will not be permitted. See Secure Connections Overview: TLS Protocol Versions for more information. This option was added in MariaDB 10.4.6.
--use-threads=num Load files in parallel. The argument is the number of threads to use for loading data.
-u name, --user=name User for login if not current user.
-v, --verbose Print info about the various stages.
-V, --version Output version information and exit.

Option Files

In addition to reading options from the command-line, mysqlimport can also read options from option files. If an unknown option is provided to mysqlimport in an option file, then it is ignored.

The following options relate to how MariaDB command-line tools handles option files. They must be given as the first argument on the command-line:

Option Description
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file.
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.

In MariaDB 10.2 and later, mysqlimport is linked with MariaDB Connector/C. Therefore, it may be helpful to see Configuring MariaDB Connector/C with Option Files for more information on how MariaDB Connector/C handles option files.

Option Groups

mysqlimport reads options from the following option groups from option files:

Group Description
[mysqlimport] Options read by mysqlimport, which includes both MariaDB Server and MySQL Server.
[mariadb-import] Options read by mysqlimport. Available starting with MariaDB 10.4.6.
[client] Options read by all MariaDB and MySQL client programs, which includes both MariaDB and MySQL clients. For example, mysqldump.
[client-server] Options read by all MariaDB client programs and the MariaDB Server. This is useful for options like socket and port, which is common between the server and the clients.
[client-mariadb] Options read by all MariaDB client programs.

Default Values

Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options)
character-sets-dir (No default value)
default-character-set latin1
columns (No default value)
compress FALSE
debug-check FALSE
debug-info FALSE
delete FALSE
fields-terminated-by (No default value)
fields-enclosed-by (No default value)
fields-optionally-enclosed-by (No default value)
fields-escaped-by (No default value)
force FALSE
host (No default value)
ignore FALSE
ignore-lines 0
lines-terminated-by (No default value)
local FALSE
lock-tables FALSE
low-priority FALSE
port 3306
replace FALSE
silent FALSE
socket /var/run/mysqld/mysqld.sock
ssl FALSE
ssl-ca (No default value)
ssl-capath (No default value)
ssl-cert (No default value)
ssl-cipher (No default value)
ssl-key (No default value)
ssl-verify-server-cert FALSE
use-threads 0
user (No default value)
verbose FALSE
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.

© 2021 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/mysqlimport/