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