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)
广告