从命令行执行时 MySQL 输出帮助/选项

Posted

技术标签:

【中文标题】从命令行执行时 MySQL 输出帮助/选项【英文标题】:MySQL outputting help/options when executing from command line 【发布时间】:2015-12-09 03:46:45 【问题描述】:

我在 Raspbian 的命令行中运行以下查询:

mysql -u $NAME -p $PASS Tweets -e "SELECT count(*) FROM raw_tweets;"

它正在输出以下内容。我确定这是某个地方的设置,但我所有的搜索都没有结果。提前感谢您的帮助。

mysql Ver 14.14 Distrib 5.5.43,适用于使用 readline 6.2 的 debian-linux-gnu (armv7l) 版权所有 (c) 2000, 2015,Oracle 和/或其附属公司。保留所有权利。

Oracle 是 Oracle Corporation 和/或其 附属公司。其他名称可能是其各自的商标 所有者。

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.)
  --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       Check memory and open file usage at exit.
  -T, --debug-info    Print some debug info at exit.
 ....... (Abbreviated, above should give enough of an example)

【问题讨论】:

这些变量$NAME$PASS 是否在这里定义?你用的是linux还是windows? 您的查询是否会执行? 实际的用户名和密码在里面,只是省略了,这里似乎没有执行查询。但是,当我启动 MySQL 并从那里运行它时,它们会执行查询 【参考方案1】:

您的语法几乎是正确的,您忘记了添加数据库名称参数。试试这个:

mysql -u $NAME -p $PASS -e "SELECT count(*) FROM raw_tweets" yourDBname

如果 Tweets 是您的数据库名称,请尝试以下操作:

mysql -u $NAME -p $PASS -e "SELECT count(*) FROM raw_tweets" Tweets

其中$NAME$PASS 是您的用户名和密码,同时授予数据库和表。

不需要分号。如果您只运行一个选择命令。

【讨论】:

不幸的是,这产生了相同的输出。我研究的其他语法包括要执行的语句之前的数据库名称,似乎移动它没有影响 你的 MySql 版本是多少? mysql Ver 14.14 Distrib 5.5.43,适用于使用 readline 6.2 的 debian-linux-gnu (armv7l) :) 很高兴它有帮助

以上是关于从命令行执行时 MySQL 输出帮助/选项的主要内容,如果未能解决你的问题,请参考以下文章

Hive命令行及参数配置

suricata命令行选项

通过 Maven 前端插件或通过命令行选项从“npm install”输出调试到文件?

从命令行运行 gradle 时如何执行和显示友好的测试输出

从命令行执行 mysql 只列出参数/变量的概述

Robot Framework 执行测试用例