기본 옵션, 값을 기대하는 옵션, MySQL의 '=' 기호를 이해합시다 -
규칙에 따라 값을 지정하는 긴 형식의 옵션은 등호(=) 기호를 사용하여 작성됩니다. 그것은 아래에 표시되었습니다 -
mysql --host=tonfisk --user=jon
값이 필요한 옵션, 즉 기본값이 없는 옵션의 경우 등호는 필요하지 않습니다. 이는 아래 명령이 이러한 경우에 유효함을 의미합니다 -
mysql --host tonfisk --user jon
위의 두 경우 모두 mysql 클라이언트는 사용자 이름이 "jon"인 계정의 도움으로 "tonfisk"라는 호스트에서 실행 중인 MySQL 서버에 연결을 시도합니다.
이 동작으로 인해 값이 제공될 것으로 예상하는 옵션에 값이 제공되지 않을 때 문제가 나타날 수 있습니다.
예시
사용자가 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)