1MYSQLIMPORT(1) MySQL Database System MYSQLIMPORT(1)
2
3
4
6 mysqlimport - a data import program
7
9 mysqlimport [options] db_name textfile1 ...
10
12 The mysqlimport client provides a command-line interface to the LOAD
13 DATA SQL statement. Most options to mysqlimport correspond directly to
14 clauses of LOAD DATA syntax. See Section 13.2.9, “LOAD DATA Statement”.
15
16 Invoke mysqlimport like this:
17
18 mysqlimport [options] db_name textfile1 [textfile2 ...]
19
20 For each text file named on the command line, mysqlimport strips any
21 extension from the file name and uses the result to determine the name
22 of the table into which to import the file's contents. For example,
23 files named patient.txt, patient.text, and patient all would be
24 imported into a table named patient.
25
26 mysqlimport supports the following options, which can be specified on
27 the command line or in the [mysqlimport] and [client] groups of an
28 option file. For information about option files used by MySQL programs,
29 see Section 4.2.2.2, “Using Option Files”.
30
31 • --help, -? Display a help message and exit.
32
33 • --bind-address=ip_address On a computer having multiple network
34 interfaces, use this option to select which interface to use for
35 connecting to the MySQL server.
36
37 • --character-sets-dir=dir_name The directory where character sets
38 are installed. See Section 10.15, “Character Set Configuration”.
39
40 • --columns=column_list, -c column_list This option takes a list of
41 comma-separated column names as its value. The order of the column
42 names indicates how to match data file columns with table columns.
43
44 • --compress, -C Compress all information sent between the client and
45 the server if possible. See Section 4.2.8, “Connection Compression
46 Control”.
47
48 As of MySQL 8.0.18, this option is deprecated. Expect it to be
49 removed in a future version of MySQL. See the section called
50 “Configuring Legacy Connection Compression”.
51
52 • --compression-algorithms=value The permitted compression algorithms
53 for connections to the server. The available algorithms are the
54 same as for the protocol_compression_algorithms system variable.
55 The default value is uncompressed.
56
57 For more information, see Section 4.2.8, “Connection Compression
58 Control”.
59
60 This option was added in MySQL 8.0.18.
61
62 • --debug[=debug_options], -# [debug_options] Write a debugging log.
63 A typical debug_options string is d:t:o,file_name. The default is
64 d:t:o.
65
66 This option is available only if MySQL was built using WITH_DEBUG.
67 MySQL release binaries provided by Oracle are not built using this
68 option.
69
70 • --debug-check Print some debugging information when the program
71 exits.
72
73 This option is available only if MySQL was built using WITH_DEBUG.
74 MySQL release binaries provided by Oracle are not built using this
75 option.
76
77 • --debug-info Print debugging information and memory and CPU usage
78 statistics when the program exits.
79
80 This option is available only if MySQL was built using WITH_DEBUG.
81 MySQL release binaries provided by Oracle are not built using this
82 option.
83
84 • --default-character-set=charset_name Use charset_name as the
85 default character set. See Section 10.15, “Character Set
86 Configuration”.
87
88 • --default-auth=plugin A hint about which client-side authentication
89 plugin to use. See Section 6.2.17, “Pluggable Authentication”.
90
91 • --defaults-extra-file=file_name Read this option file after the
92 global option file but (on Unix) before the user option file. If
93 the file does not exist or is otherwise inaccessible, an error
94 occurs. If file_name is not an absolute path name, it is
95 interpreted relative to the current directory.
96
97 For additional information about this and other option-file
98 options, see Section 4.2.2.3, “Command-Line Options that Affect
99 Option-File Handling”.
100
101 • --defaults-file=file_name Use only the given option file. If the
102 file does not exist or is otherwise inaccessible, an error occurs.
103 If file_name is not an absolute path name, it is interpreted
104 relative to the current directory.
105
106 Exception: Even with --defaults-file, client programs read
107 .mylogin.cnf.
108
109 For additional information about this and other option-file
110 options, see Section 4.2.2.3, “Command-Line Options that Affect
111 Option-File Handling”.
112
113 • --defaults-group-suffix=str Read not only the usual option groups,
114 but also groups with the usual names and a suffix of str. For
115 example, mysqlimport normally reads the [client] and [mysqlimport]
116 groups. If this option is given as --defaults-group-suffix=_other,
117 mysqlimport also reads the [client_other] and [mysqlimport_other]
118 groups.
119
120 For additional information about this and other option-file
121 options, see Section 4.2.2.3, “Command-Line Options that Affect
122 Option-File Handling”.
123
124 • --delete, -D Empty the table before importing the text file.
125
126 • --enable-cleartext-plugin Enable the mysql_clear_password cleartext
127 authentication plugin. (See Section 6.4.1.4, “Client-Side Cleartext
128 Pluggable Authentication”.)
129
130 • --fields-terminated-by=..., --fields-enclosed-by=...,
131 --fields-optionally-enclosed-by=..., --fields-escaped-by=... These
132 options have the same meaning as the corresponding clauses for LOAD
133 DATA. See Section 13.2.9, “LOAD DATA Statement”.
134
135 • --force, -f Ignore errors. For example, if a table for a text file
136 does not exist, continue processing any remaining files. Without
137 --force, mysqlimport exits if a table does not exist.
138
139 • --get-server-public-key Request from the server the public key
140 required for RSA key pair-based password exchange. This option
141 applies to clients that authenticate with the caching_sha2_password
142 authentication plugin. For that plugin, the server does not send
143 the public key unless requested. This option is ignored for
144 accounts that do not authenticate with that plugin. It is also
145 ignored if RSA-based password exchange is not used, as is the case
146 when the client connects to the server using a secure connection.
147
148 If --server-public-key-path=file_name is given and specifies a
149 valid public key file, it takes precedence over
150 --get-server-public-key.
151
152 For information about the caching_sha2_password plugin, see
153 Section 6.4.1.2, “Caching SHA-2 Pluggable Authentication”.
154
155 • --host=host_name, -h host_name Import data to the MySQL server on
156 the given host. The default host is localhost.
157
158 • --ignore, -i See the description for the --replace option.
159
160 • --ignore-lines=N Ignore the first N lines of the data file.
161
162 • --lines-terminated-by=... This option has the same meaning as the
163 corresponding clause for LOAD DATA. For example, to import Windows
164 files that have lines terminated with carriage return/linefeed
165 pairs, use --lines-terminated-by="\r\n". (You might have to double
166 the backslashes, depending on the escaping conventions of your
167 command interpreter.) See Section 13.2.9, “LOAD DATA Statement”.
168
169 • --local, -L By default, files are read by the server on the server
170 host. With this option, mysqlimport reads input files locally on
171 the client host.
172
173 Successful use of LOCAL load operations within mysqlimport also
174 requires that the server permits local loading; see Section 6.1.6,
175 “Security Considerations for LOAD DATA LOCAL”
176
177 • --lock-tables, -l Lock all tables for writing before processing any
178 text files. This ensures that all tables are synchronized on the
179 server.
180
181 • --login-path=name Read options from the named login path in the
182 .mylogin.cnf login path file. A “login path” is an option group
183 containing options that specify which MySQL server to connect to
184 and which account to authenticate as. To create or modify a login
185 path file, use the mysql_config_editor utility. See
186 mysql_config_editor(1).
187
188 For additional information about this and other option-file
189 options, see Section 4.2.2.3, “Command-Line Options that Affect
190 Option-File Handling”.
191
192 • --low-priority Use LOW_PRIORITY when loading the table. This
193 affects only storage engines that use only table-level locking
194 (such as MyISAM, MEMORY, and MERGE).
195
196 • --no-defaults Do not read any option files. If program startup
197 fails due to reading unknown options from an option file,
198 --no-defaults can be used to prevent them from being read.
199
200 The exception is that the .mylogin.cnf file is read in all cases,
201 if it exists. This permits passwords to be specified in a safer way
202 than on the command line even when --no-defaults is used. To create
203 .mylogin.cnf, use the mysql_config_editor utility. See
204 mysql_config_editor(1).
205
206 For additional information about this and other option-file
207 options, see Section 4.2.2.3, “Command-Line Options that Affect
208 Option-File Handling”.
209
210 • --password[=password], -p[password] The password of the MySQL
211 account used for connecting to the server. The password value is
212 optional. If not given, mysqlimport prompts for one. If given,
213 there must be no space between --password= or -p and the password
214 following it. If no password option is specified, the default is to
215 send no password.
216
217 Specifying a password on the command line should be considered
218 insecure. To avoid giving the password on the command line, use an
219 option file. See Section 6.1.2.1, “End-User Guidelines for Password
220 Security”.
221
222 To explicitly specify that there is no password and that
223 mysqlimport should not prompt for one, use the --skip-password
224 option.
225
226 • --password1[=pass_val] The password for multifactor authentication
227 factor 1 of the MySQL account used for connecting to the server.
228 The password value is optional. If not given, mysqlimport prompts
229 for one. If given, there must be no space between --password1= and
230 the password following it. If no password option is specified, the
231 default is to send no password.
232
233 Specifying a password on the command line should be considered
234 insecure. To avoid giving the password on the command line, use an
235 option file. See Section 6.1.2.1, “End-User Guidelines for Password
236 Security”.
237
238 To explicitly specify that there is no password and that
239 mysqlimport should not prompt for one, use the --skip-password1
240 option.
241
242 --password1 and --password are synonymous, as are --skip-password1
243 and --skip-password.
244
245 • --password2[=pass_val] The password for multifactor authentication
246 factor 2 of the MySQL account used for connecting to the server.
247 The semantics of this option are similar to the semantics for
248 --password1; see the description of that option for details.
249
250 • --password3[=pass_val] The password for multifactor authentication
251 factor 3 of the MySQL account used for connecting to the server.
252 The semantics of this option are similar to the semantics for
253 --password1; see the description of that option for details.
254
255 • --pipe, -W On Windows, connect to the server using a named pipe.
256 This option applies only if the server was started with the
257 named_pipe system variable enabled to support named-pipe
258 connections. In addition, the user making the connection must be a
259 member of the Windows group specified by the
260 named_pipe_full_access_group system variable.
261
262 • --plugin-dir=dir_name The directory in which to look for plugins.
263 Specify this option if the --default-auth option is used to specify
264 an authentication plugin but mysqlimport does not find it. See
265 Section 6.2.17, “Pluggable Authentication”.
266
267 • --port=port_num, -P port_num For TCP/IP connections, the port
268 number to use.
269
270 • --print-defaults Print the program name and all options that it
271 gets from option files.
272
273 For additional information about this and other option-file
274 options, see Section 4.2.2.3, “Command-Line Options that Affect
275 Option-File Handling”.
276
277 • --protocol={TCP|SOCKET|PIPE|MEMORY} The transport protocol to use
278 for connecting to the server. It is useful when the other
279 connection parameters normally result in use of a protocol other
280 than the one you want. For details on the permissible values, see
281 Section 4.2.7, “Connection Transport Protocols”.
282
283 • --replace, -r The --replace and --ignore options control handling
284 of input rows that duplicate existing rows on unique key values. If
285 you specify --replace, new rows replace existing rows that have the
286 same unique key value. If you specify --ignore, input rows that
287 duplicate an existing row on a unique key value are skipped. If you
288 do not specify either option, an error occurs when a duplicate key
289 value is found, and the rest of the text file is ignored.
290
291 • --server-public-key-path=file_name The path name to a file in PEM
292 format containing a client-side copy of the public key required by
293 the server for RSA key pair-based password exchange. This option
294 applies to clients that authenticate with the sha256_password or
295 caching_sha2_password authentication plugin. This option is ignored
296 for accounts that do not authenticate with one of those plugins. It
297 is also ignored if RSA-based password exchange is not used, as is
298 the case when the client connects to the server using a secure
299 connection.
300
301 If --server-public-key-path=file_name is given and specifies a
302 valid public key file, it takes precedence over
303 --get-server-public-key.
304
305 For sha256_password, this option applies only if MySQL was built
306 using OpenSSL.
307
308 For information about the sha256_password and caching_sha2_password
309 plugins, see Section 6.4.1.3, “SHA-256 Pluggable Authentication”,
310 and Section 6.4.1.2, “Caching SHA-2 Pluggable Authentication”.
311
312 • --shared-memory-base-name=name On Windows, the shared-memory name
313 to use for connections made using shared memory to a local server.
314 The default value is MYSQL. The shared-memory name is
315 case-sensitive.
316
317 This option applies only if the server was started with the
318 shared_memory system variable enabled to support shared-memory
319 connections.
320
321 • --silent, -s Silent mode. Produce output only when errors occur.
322
323 • --socket=path, -S path For connections to localhost, the Unix
324 socket file to use, or, on Windows, the name of the named pipe to
325 use.
326
327 On Windows, this option applies only if the server was started with
328 the named_pipe system variable enabled to support named-pipe
329 connections. In addition, the user making the connection must be a
330 member of the Windows group specified by the
331 named_pipe_full_access_group system variable.
332
333 • --ssl* Options that begin with --ssl specify whether to connect to
334 the server using encryption and indicate where to find SSL keys and
335 certificates. See the section called “Command Options for Encrypted
336 Connections”.
337
338 • --ssl-fips-mode={OFF|ON|STRICT} Controls whether to enable FIPS
339 mode on the client side. The --ssl-fips-mode option differs from
340 other --ssl-xxx options in that it is not used to establish
341 encrypted connections, but rather to affect which cryptographic
342 operations to permit. See Section 6.8, “FIPS Support”.
343
344 These --ssl-fips-mode values are permitted:
345
346 • OFF: Disable FIPS mode.
347
348 • ON: Enable FIPS mode.
349
350 • STRICT: Enable “strict” FIPS mode.
351
352
353 Note
354 If the OpenSSL FIPS Object Module is not available, the only
355 permitted value for --ssl-fips-mode is OFF. In this case,
356 setting --ssl-fips-mode to ON or STRICT causes the client to
357 produce a warning at startup and to operate in non-FIPS mode.
358 As of MySQL 8.0.34, this option is deprecated. Expect it to be
359 removed in a future version of MySQL.
360
361 • --tls-ciphersuites=ciphersuite_list The permissible ciphersuites
362 for encrypted connections that use TLSv1.3. The value is a list of
363 one or more colon-separated ciphersuite names. The ciphersuites
364 that can be named for this option depend on the SSL library used to
365 compile MySQL. For details, see Section 6.3.2, “Encrypted
366 Connection TLS Protocols and Ciphers”.
367
368 This option was added in MySQL 8.0.16.
369
370 • --tls-version=protocol_list The permissible TLS protocols for
371 encrypted connections. The value is a list of one or more
372 comma-separated protocol names. The protocols that can be named for
373 this option depend on the SSL library used to compile MySQL. For
374 details, see Section 6.3.2, “Encrypted Connection TLS Protocols and
375 Ciphers”.
376
377 • --user=user_name, -u user_name The user name of the MySQL account
378 to use for connecting to the server.
379
380 • --use-threads=N Load files in parallel using N threads.
381
382 • --verbose, -v Verbose mode. Print more information about what the
383 program does.
384
385 • --version, -V Display version information and exit.
386
387 • --zstd-compression-level=level The compression level to use for
388 connections to the server that use the zstd compression algorithm.
389 The permitted levels are from 1 to 22, with larger values
390 indicating increasing levels of compression. The default zstd
391 compression level is 3. The compression level setting has no effect
392 on connections that do not use zstd compression.
393
394 For more information, see Section 4.2.8, “Connection Compression
395 Control”.
396
397 This option was added in MySQL 8.0.18.
398
399 Here is a sample session that demonstrates use of mysqlimport:
400
401 $> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
402 $> ed
403 a
404 100 Max Sydow
405 101 Count Dracula
406 .
407 w imptest.txt
408 32
409 q
410 $> od -c imptest.txt
411 0000000 1 0 0 \t M a x S y d o w \n 1 0
412 0000020 1 \t C o u n t D r a c u l a \n
413 0000040
414 $> mysqlimport --local test imptest.txt
415 test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
416 $> mysql -e 'SELECT * FROM imptest' test
417 +------+---------------+
418 | id | n |
419 +------+---------------+
420 | 100 | Max Sydow |
421 | 101 | Count Dracula |
422 +------+---------------+
423
425 Copyright © 1997, 2023, Oracle and/or its affiliates.
426
427 This documentation is free software; you can redistribute it and/or
428 modify it only under the terms of the GNU General Public License as
429 published by the Free Software Foundation; version 2 of the License.
430
431 This documentation is distributed in the hope that it will be useful,
432 but WITHOUT ANY WARRANTY; without even the implied warranty of
433 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
434 General Public License for more details.
435
436 You should have received a copy of the GNU General Public License along
437 with the program; if not, write to the Free Software Foundation, Inc.,
438 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see
439 http://www.gnu.org/licenses/.
440
441
443 For more information, please refer to the MySQL Reference Manual, which
444 may already be installed locally and which is also available online at
445 http://dev.mysql.com/doc/.
446
448 Oracle Corporation (http://dev.mysql.com/).
449
450
451
452MySQL 8.0 08/31/2023 MYSQLIMPORT(1)