Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

명령줄에서 MySQL 데이터베이스에 연결하는 방법 완벽 가이드

명령줄에서 MySQL 데이터베이스 연결하기

이 글에서는 명령줄(커맨드 라인)을 사용해 MySQL 데이터베이스에 연결하는 방법을 알아봅니다. 이 방식은 mysql이나 mysqldump 같은 클라이언트 프로그램을 사용할 때 활용됩니다.

기본값으로 mysql 실행하기

다음 명령은 별도의 연결 매개변수를 지정하지 않고 mysql을 실행합니다.

mysql

매개변수 옵션이 없으므로 기본값이 적용됩니다.

  • 기본 호스트 이름은 localhost입니다.
  • Windows에서는 기본 사용자 이름이 ODBC로 설정됩니다.
  • --password 또는 -p 옵션이 지정되지 않았기 때문에 비밀번호는 전송되지 않습니다.

mysql에서 첫 번째 비옵션(non-option) 인수는 기본 데이터베이스의 이름으로 간주됩니다. 해당 인수가 없으면 mysql은 어떤 데이터베이스도 기본값으로 선택하지 않습니다.

호스트, 사용자, 데이터베이스 지정하기

호스트 이름, 사용자 이름, 비밀번호를 명시적으로 지정하려면 명령줄에 적절한 옵션을 입력하면 됩니다. 기본 데이터베이스를 선택하려면 데이터베이스 이름 인수를 추가합니다.

mysql --host=localhost --user=myname --password=password mydb
mysql -h localhost -u myname -ppassword mydb

연결 방식의 결정 원리

클라이언트 프로그램은 다음 규칙에 따라 연결 유형을 결정합니다.

  • 호스트가 지정되지 않았거나 localhost인 경우 → 로컬 호스트에 연결됩니다.
  • 그 외의 경우 → TCP/IP를 통해 연결됩니다.

클라이언트가 로컬 서버에 TCP/IP 연결을 하도록 강제하려면 --host 또는 -h 옵션에 127.0.0.1(localhost 대신)을 값으로 지정해야 합니다. 또는 로컬 서버의 IP 주소나 호스트 이름을 직접 입력할 수도 있습니다. 전송 프로토콜은 --protocol=TCP 옵션으로 명시적으로 지정할 수 있습니다.

예제

mysql --host=127.0.0.1
mysql --protocol=TCP

Windows에서 명명된 파이프(named-pipe) 연결

Windows 환경에서는 MySQL 클라이언트가 명명된 파이프(named-pipe) 연결을 사용하도록 강제할 수 있습니다. 이를 위해서는 --pipe 또는 --protocol=PIPE 옵션을 지정하거나, 호스트 이름으로 마침표(.)를 입력하면 됩니다.

원격 서버에 연결하기

원격 서버에 대한 연결은 TCP/IP를 사용합니다. 다음 명령은 기본 포트 번호(3306)를 사용해 remote.example.com에서 실행 중인 서버에 접속합니다.

mysql --host=remote.example.com

포트 번호를 명시적으로 지정하려면 --port 또는 -P 옵션을 사용합니다.

mysql --host=remote.example.com --port=13306

지정한 포트 번호가 실제로 사용되도록 하려면 TCP/IP 연결을 강제해야 합니다. 다음 두 가지 방법 중 하나를 사용할 수 있습니다.

mysql --port=13306 --host=127.0.0.1
(또는)
mysql --port=13306 --protocol=TCP

연결 매개변수 자동화 팁

클라이언트 프로그램을 실행할 때마다 매번 명령줄에 연결 매개변수를 입력하지 않아도 되는 방법도 있습니다. 예를 들어 옵션 파일(my.cnf, my.ini)에 연결 정보를 저장하면, 매번 옵션을 반복해서 입력하는 번거로움 없이 편리하게 데이터베이스에 접속할 수 있습니다.