mysqldump 语法错误 - 密码被用作数据库名称

mysqldump syntax error - password being used as database name

我正在尝试按照以下指南在同一台服务器上复制 MySQL (5.5.64-MariaDB) 数据库:Cloning a MySQL database on the same MySql instance

接受的答案无效,所以我查看了 MySQL 的文档,发现 mysqldump Options 使用 --user--password 而不是 [=链接 post.

上的 16=] 和 -p 标志

当我执行这个时:

mysqldump --user myUser --password myPassword dev_db | mysql -umyUser -pmyPassword staging_db

它首先要求我输入密码:

Enter password:

所以我输入了 myPassword,尽管我不确定参数列表中给出的原因。

然后报如下错误:

mysqldump: Got error: 1049: "Unknown database 'myPassword'" when selecting the database

如果我尝试输入不带空格的 --username--password :

mysqldump --usermyUser --passwordmyPassword dev_db | mysql -umyUser -pmyPassword staging_db

错误

mysqldump: unknown option '--usermyUser'

这样做的目的是将 dev_db 复制到名为 staging_db 的数据库中。这两个数据库都存在于同一台服务器上。我正在使用的 username/password 可以完全访问 MySQL 实例上的每个数据库。

为什么这不起作用?

如果我使用:

$ mysql -umyUser -pmyPassword

它连接没有任何问题,并给我 MariaDB 命令提示符。

服务器是 运行 CentOS Linux 7.7.1908 版(核心)

数据库版本:

$ mysql -V
mysql  Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64) using readline 5.1

密码前不能有space。

--password=myPassword

-pmyPassword

--password选项没有直连参数时,表示提示输入密码