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 -ptestshell>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 | +---------------------+