4.2.4 명령 행 옵션 사용
명령 행에서 지정된 프로그램 옵션은 다음 규칙을 따릅니다.
옵션은 명령 이름 다음에 지정합니다.
옵션 인수는 그 옵션 이름의 짧은 형식 또는 긴 형식에 따라 하나 또는 두 개의 대시로 시작합니다. 많은 옵션에 짧은 형식과 긴 형식이 모두 있습니다. 예를 들어,
-?
와--help
는 MySQL 프로그램에 도움말 메시지 표시를 지시하는 옵션 짧은 형식과 긴 형식입니다.옵션 이름은 대소 문자를 구분됩니다.
-v
및-V
는 모두 정당한 다른 의미를 갖습니다. (이것은--verbose
와--version
옵션에 해당하는 짧은 형태입니다.)일부 옵션은 옵션 이름 다음에 값을 취합니다. 예를 들어,
-h localhost
또는--host=localhost
는 클라이언트 프로그램에 MySQL 서버 호스트를 나타냅니다. 옵션 값은 프로그램에 MySQL 서버가 실행중인 호스트의 이름을 나타냅니다.값을 가지고 긴 옵션은 옵션 이름과 값을 "
=
"기호로 구분합니다. 값을 가지고 짧은 옵션은 옵션 값은 옵션 문자 바로 뒤에 계속하거나 사이에 공백이 있어도 괜찮습니다.-hlocalhost
와-h localhost
는 동일합니다. 이 규칙의 예외는 MySQL의 암호를 지정하는 옵션입니다. 이 옵션은 긴 형식으로--password=
로 또는pass_val
--password
로 지정할 수 있습니다. 후자의 경우 (암호 값을 지정하지 않으면) 프로그램은 암호를 요구합니다. 암호 옵션은 짧은 형식으로-p
또는pass_val
-p
로도 지정할 수 있습니다. 그러나 짧은 경우 암호 값을 지정하는 경우는 사이에 공백을 넣지 않고 옵션 문자 계속해야 안됩니다. 그 이유는 옵션 문자에 공백이 계속되는 경우, 계속 인수가 암호 값인지 아니면 다른 종류의 인수인지 프로그램이 판단 할 방법이 없기 때문입니다. 그 결과 다음의 두 명령은 두 개의 완전히 다른 의미를가집니다.shell>
mysql -ptest
shell>mysql -p test
첫 번째 명령은 암호 값
test
를 사용하는 것이 mysql에 지시하지만, 기본 데이터베이스의 지정은하지 않습니다. 두 번째는 암호 값을 요구하고test
를 기본 데이터베이스로 사용하는 것이 mysql에 지시합니다.옵션 이름에서 대시 ( "
-
")와 밑줄 ("_
")를 구별없이 사용할 수 있습니다. 예를 들어,--skip-grant-tables
와--skip_grant_tables
은 동일합니다. (단, 첫 번째 대시는 밑줄로 지정할 수 없습니다.)수치를 가지고 옵션은 값은 1024,1024 2 또는 1024 3의 승수를 나타 내기 위해
K
,M
또는G
(대문자 또는 소문자)의 접미사로 지정할 수 있습니다. 예를 들어, 다음 명령은 mysqladmin에게 서버에 1024 회 ping을 실행하고 각 ping 사이에 10 초 동안 잠을 지시합니다.mysql>
mysqladmin --count=1K --sleep=10 ping
공백이 포함 된 옵션 값을 명령 행에서 지정하는 경우 따옴표로 묶어야합니다. 예를 들어, --execute
(또는 -e
) 옵션을 mysql 함께 사용하여 SQL 문을 서버에 전달할 수 있습니다. 이 옵션이 사용되면 mysql 옵션 값 문을 실행하고 종료합니다. 문은 따옴표로 묶어야합니다. 예를 들어, 다음 명령을 사용하여 사용자 계정 목록을 가져올 수 있습니다.
shell>mysql -u root -p --execute="SELECT User, Host FROM mysql.user"
Enter password:******
+------+-----------+ | User | Host | +------+-----------+ | | gigan | | root | gigan | | | localhost | | jon | localhost | | root | localhost | +------+-----------+ shell>
긴 형식 ( --execute
) 등호 ( =
)가 따르기에주의하십시오.
문에서 따옴표로 둘러싸인 값을 사용하는 경우 내부 따옴표를 이스케이프하거나 문에서 문 자체를 묶는 데 사용하는 따옴표와 다른 유형의 따옴표를 사용해야 있습니다. 작은 따옴표 또는 큰 따옴표를 사용할 수 있는지 여부와 인용 문자를 이스케이프하는 구문은 명령 프로세서의 기능에 따라 다릅니다. 예를 들어, 명령 프로세서가 작은 따옴표 또는 큰 따옴표의 사용을 지원하는 경우, 문 주위에 따옴표를 사용하여 문에서 따옴표로 묶어 값은 작은 따옴표를 사용할 수 있습니다 .
명령 행 옵션 값에 여러 SQL 문을 세미콜론으로 구분하여 전달할 수 있습니다.
shell>mysql -u root -p -e "SELECT VERSION();SELECT NOW()"
Enter password:******
+------------------+ | VERSION() | +------------------+ | 5.6.28-debug-log | +------------------+ +---------------------+ | NOW() | +---------------------+ | 2015-11-05 20:01:28 | +---------------------+