在 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