root 用户完成时 mysql 转储失败

root 用户完成时 mysql 转储失败

在 Ubuntu 服务器 16.04 xenial 的 LEMP 堆栈中,我执行了mysql -u root -p(然后是 root 的密码),然后,当在 mysql shell 内时:

mysqldump --databases "${domain}" > test.sql

但由于某种原因,这失败了:

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“mysqldump --databases MY_DB_NAME > dump.sql”附近​​使用的正确语法

为什么这个简单的 mysqldump 命令会失败?

更新:

在 Mysql CLI 之外执行相同的命令也会失败:

mysqldump --databases "${domain}" > test.sql

mysqldump:出现错误:1045:尝试连接时用户“root”@“localhost”的访问被拒绝(使用密码:NO)

答案1

mysqldump是一个程序。它不是 SQL 语句。您不会在mysql>提示符处运行它——而是从系统 shell 提示符处运行它。

答案2

我只提供了名称,没有提供用户和密码凭据。

这有效:

mysqldump -u root -p"${rpsw}" "${domain}" > test.sql

相关内容