问题描述
我正在尝试从我的 users
数据库备份我的 cia
表
我已经创建了这个示例片段
示例
#db = cia
#table = users
MysqLdump cia users > cia.users.sql && L <<-------- ✅
MysqL -u root cia -e "TruncATE TABLE users;" <<-------- ✅
MysqL -u root cia -e "SELECT COUNT(*) FROM users;" <<-------- ✅
MysqL -u root cia users < cia.users.sql <<-------- ?❌ stuck...
MysqL -u root cia -e "SELECT COUNT(*) FROM users;"
rm -rf cia.users.sql
echo "--------------------------- DONE."
#
我得到了
MysqL Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
copyright (c) 2000,2021,Oracle and/or its affiliates.
Oracle is a registered Trademark of Oracle Corporation and/or its
affiliates. Other names may be Trademarks of their respective
owners.
Usage: MysqL [OPTIONS] [database]
-?,--help display this help and exit.
-I,--help Synonym for -?
--auto-rehash Enable automatic rehashing. One doesn't need to use
'rehash' to get table and field completion,but startup
and reconnecting may take a longer time. disable with
--disable-auto-rehash.
(Defaults to on; use --skip-auto-rehash to disable.)
-A,--no-auto-rehash
No automatic rehashing. One has to use 'rehash' to get
table and field completion. This gives a quicker start of
MysqL and disables rehashing on reconnect.
--auto-vertical-output
Automatically switch to vertical output mode if the
result is wider than the terminal width.
-B,--batch Don't use history file. disable interactive behavior.
(Enables --silent.)
--bind-address=name IP address to bind to.
--binary-as-hex Print binary data as hex. Enabled by default for
interactive terminals.
--character-sets-dir=name
Directory for character set files.
--column-type-info display column type information.
-c,--comments Preserve comments. Send comments to the server. The
default is --skip-comments (discard comments),enable
with --comments.
-C,--compress Use compression in server/client protocol.
-#,--debug[=#] This is a non-debug version. Catch this and exit.
--debug-check This is a non-debug version. Catch this and exit.
-T,--debug-info This is a non-debug version. Catch this and exit.
-D,--database=name Database to use.
--default-character-set=name
Set the default character set.
--delimiter=name Delimiter to be used.
--enable-cleartext-plugin
Enable/disable the clear text authentication plugin.
-e,--execute=name Execute command and quit. (disables --force and history
file.)
-E,--vertical Print the output of a query (rows) vertically.
-f,--force Continue even if we get an sql error.
--histignore=name A colon-separated list of patterns to keep statements
from getting logged into syslog and MysqL history.
-G,--named-commands
Enable named commands. Named commands mean this program's
internal commands; see MysqL> help . When enabled,the
named commands can be used from any line of the query,otherwise only from the first line,before an enter.
disable with --disable-named-commands. This option is
disabled by default.
-i,--ignore-spaces Ignore space after function names.
--init-command=name sql Command to execute when connecting to MysqL server.
Will automatically be re-executed when reconnecting.
--local-infile Enable/disable LOAD DATA LOCAL INFILE.
-b,--no-beep Turn off beep on error.
-h,--host=name Connect to host.
--dns-srv-name=name Connect to a DNS SRV resource
-H,--html Produce HTML output.
-X,--xml Produce XML output.
--line-numbers Write line numbers for errors.
(Defaults to on; use --skip-line-numbers to disable.)
-L,--skip-line-numbers
Don't write line number for errors.
-n,--unbuffered Flush buffer after each query.
--column-names Write column names in results.
(Defaults to on; use --skip-column-names to disable.)
-N,--skip-column-names
Don't write column names in results.
--sigint-ignore Ignore SIGINT (CTRL-C).
-o,--one-database Ignore statements except those that occur while the
default database is the one named at the command line.
--pager[=name] Pager to use to display results. If you don't supply an
option,the default pager is taken from your ENV variable
PAGER. Valid pagers are less,more,cat [> filename],etc. See interactive help (\h) also. This option does not
work in batch mode. disable with --disable-pager. This
option is disabled by default.
-p,--password[=name]
Password to use when connecting to server. If password is
not given it's asked from the tty.
-P,--port=# Port number to use for connection or 0 for default to,in
order of preference,my.cnf,$MysqL_TCP_PORT,/etc/services,built-in default (3306).
--prompt=name Set the MysqL prompt to this value.
--protocol=name The protocol to use for connection (tcp,socket,pipe,memory).
-q,--quick Don't cache result,print it row by row. This may slow
down the server if the output is suspended. Doesn't use
history file.
-r,--raw Write fields without conversion. Used with --batch.
--reconnect Reconnect if the connection is lost. disable with
--disable-reconnect. This option is enabled by default.
(Defaults to on; use --skip-reconnect to disable.)
-s,--silent Be more silent. Print results with a tab as separator,each row on new line.
-S,--socket=name The socket file to use for connection.
--server-public-key-path=name
File path to the server public RSA key in PEM format.
--get-server-public-key
Get server public key
--ssl-mode=name SSL connection mode.
--ssl-ca=name CA file in PEM format.
--ssl-capath=name CA directory.
--ssl-cert=name X509 cert in PEM format.
--ssl-cipher=name SSL cipher to use.
--ssl-key=name X509 key in PEM format.
--ssl-crl=name Certificate revocation list.
--ssl-crlpath=name Certificate revocation list path.
--tls-version=name TLS version to use,permitted values are: TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
--ssl-fips-mode=name
SSL FIPS mode (applies only for OpenSSL); permitted
values are: OFF,ON,STRICT
--tls-ciphersuites=name
TLS v1.3 cipher to use.
-t,--table Output in table format.
--tee=name Append everything into outfile. See interactive help (\h)
also. Does not work in batch mode. disable with
--disable-tee. This option is disabled by default.
-u,--user=name User for login if not current user.
-U,--safe-updates Only allow UPDATE and DELETE that uses keys.
-U,--i-am-a-dummy Synonym for option --safe-updates,-U.
-v,--verbose Write more. (-v -v -v gives the table output format).
-V,--version Output version information and exit.
-w,--wait Wait and retry if connection is down.
--connect-timeout=# Number of seconds before connection timeout.
--max-allowed-packet=#
The maximum packet length to send to or receive from
server.
--net-buffer-length=#
The buffer size for TCP/IP and socket communication.
--select-limit=# Automatic limit for SELECT when using --safe-updates.
--max-join-size=# Automatic limit for rows in a join when using
--safe-updates.
--show-warnings Show warnings after every statement.
-j,--syslog Log filtered interactive commands to syslog. Filtering of
commands depends on the patterns supplied via histignore
option besides the default patterns.
--plugin-dir=name Directory for client-side plugins.
--default-auth=name Default authentication client-side plugin to use.
--binary-mode By default,ASCII '\0' is disallowed and '\r\n' is
translated to '\n'. This switch turns off both features,and also turns off parsing of all clientcommands except
\C and DELIMITER,in non-interactive mode (for input
piped to MysqL or loaded using the 'source' command).
This is necessary when processing output from MysqLbinlog
that may contain blobs.
--connect-expired-password
Notify the server that this client is prepared to handle
expired password sandBox mode.
--network-namespace=name
Network namespace to use for connection via tcp with a
server.
--compression-algorithms=name
Use compression algorithm in server/client protocol.
Valid values are any combination of
'zstd','zlib','uncompressed'.
--zstd-compression-level=#
Use this compression level in the client/server protocol,in case --compression-algorithms=zstd. Valid range is
between 1 and 22,inclusive. Default is 3.
--load-data-local-dir=name
Directory path safe for LOAD DATA LOCAL INFILE to read
from.
Default options are read from the following files in the given order:
/etc/my.cnf /etc/MysqL/my.cnf ~/.my.cnf
The following groups are read: MysqL client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file,except for login file.
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
--defaults-group-suffix=#
Also read groups with concat(group,suffix)
--login-path=# Read this path from the login file.
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- ----------------------------------------
auto-rehash TRUE
auto-vertical-output FALSE
bind-address (No default value)
binary-as-hex FALSE
character-sets-dir (No default value)
column-type-info FALSE
comments FALSE
compress FALSE
database (No default value)
default-character-set auto
delimiter ;
enable-cleartext-plugin FALSE
vertical FALSE
force FALSE
histignore (No default value)
named-commands FALSE
ignore-spaces FALSE
init-command (No default value)
local-infile FALSE
no-beep FALSE
host (No default value)
dns-srv-name (No default value)
html FALSE
xml FALSE
line-numbers TRUE
unbuffered FALSE
column-names TRUE
sigint-ignore FALSE
port 0
prompt MysqL>
quick FALSE
raw FALSE
reconnect FALSE
socket (No default value)
server-public-key-path (No default value)
get-server-public-key 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-crl (No default value)
ssl-crlpath (No default value)
tls-version (No default value)
tls-ciphersuites (No default value)
table FALSE
user root
safe-updates FALSE
i-am-a-dummy FALSE
connect-timeout 0
max-allowed-packet 16777216
net-buffer-length 16384
select-limit 1000
max-join-size 1000000
show-warnings FALSE
plugin-dir (No default value)
default-auth (No default value)
binary-mode FALSE
connect-expired-password FALSE
network-namespace (No default value)
compression-algorithms (No default value)
zstd-compression-level 3
load-data-local-dir (No default value)
解决方法
mysql 客户端接受一个数据库名称,但不需要在该命令行用法中命名表。表的名称来自转储数据文件中的语句。
改变这个:
mysql -u root cia users < cia.users.sql
为此:
mysql -u root cia < cia.users.sql