MySQL 选项默认值、需要值的选项和等号


让我们了解 MySQL 中的默认选项、需要值的选项以及“=”号。

按照惯例,分配值的选项的长格式使用等号 (=) 书写。如下所示:

mysql --host=tonfisk --user=jon

对于需要值的选项(即没有默认值的选项),不需要等号。这意味着以下命令在这种情况下是有效的:

mysql --host tonfisk --user jon

在以上两种情况下,mysql 客户端都尝试连接到名为“tonfisk”的主机上运行的 MySQL 服务器,并使用用户名为“jon”的账户。

由于这种行为,当未为需要值的选项提供值时,偶尔可能会出现问题。

示例

当用户以 jon 用户身份连接到主机 tonfisk 上运行的 MySQL 服务器时,将运行以下命令:

shell> mysql --host 85.224.35.45 --user jon

输出

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 8.0.25 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

然后,我们执行以下命令:

查询

mysql> SELECT CURRENT_USER();

输出

+----------------+
| CURRENT_USER() |
+----------------+
| jon@%          |
+----------------+
1 row in set (0.00 sec)

当为这些选项之一省略所需的值时,会产生错误。错误可能如下所示:

shell> mysql --host 85.224.35.45 –user

输出

mysql: option '--user' requires an argument

在上述情况下,mysql 无法在 --user 选项之后找到值,因为命令行中没有后续内容。但是,如果用户省略了不是最后一个使用的选项的值,则会得到不同的错误,这可能是用户预料之外的。

shell> mysql --host --user jon

输出

ERROR 2005 (HY000): Unknown MySQL server host '--user' (1)

更新于: 2021-03-09

62 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告