我正在使用终端 (Mac OS X),但我认为这是 Linux 的内置部分。有时,当我执行命令时,终端会返回一个新的缩进行,->
行上只有。它似乎在等待某事,但我不知道它是否需要我采取行动。按回车键只会返回另一行相同的行。当我 时Ctrl + C
,它会显示Aborted
,这意味着某事显然正在处理。这是什么意思?例如,以下内容:
$ mysql -u root -h host -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is X
Server version: 5.1.39-log MySQL Server
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> mysqldump my_database
->
-> [Ctrl + C]
-> Aborted
$
编辑:看来这是命令的错误语法,但我不确定这是否是箭头的原因。
答案1
在 MySQL 命令行工具中,这意味着该工具希望您的输入在下一行继续。这里它正在等待目标路径。
常见的“完整”SQL 命令都是用缩进编写的,命令行支持缩进。你可以这样写
SELECT
`users`.*
FROM
`users`
WHERE
`users`.`is_active` = 1 AND
`users`.`age` < 13
ORDER BY
`users`.`username`
答案2
箭头是交互式继续提示。如果您输入了未完成的命令,SQL shell(由 mysql 命令调用)将等待其余部分。
在这种特殊情况下,SQL shell 正在等待 mysqldump 的目标路径。
此外,除非您用分号终止命令,否则命令是不完整的。(感谢@MrStatic)
答案3
您确实有语法错误;SQL 命令必须以分号结尾。例如:
mysqldump my_database;
答案4
如果你使用玛拉雅数据库,mysqldump
不是mysql命令。在bash中运行它。
$ mysqldump -u root -h host -p ### my_database > dump.sql
为了更准确的用法,运行mysqldump --help
。