개인적으로 데이터베이스에 대해 실력이 부족해서 Real MySQL 8.0 서적을 공부하고 있습니다. 책을 보는데 리눅스에서 MySQL에 접속할 때의 차이점이 있다고 해서 정리해보려고 합니다.
1. 리눅스에서 MySQL 서버 접속하는 방법
먼저 MySQL 서버를 실행시킨 후 먼저 리눅스에서 MySQL에 접속하는 방법에는 3가지 방법이 있습니다.
linux> mysql -uroot -p --host=localhost --socket=/tmp/mysql.sock
linux> mysql -uroot -p --host=127.0.0.1 --port=3306
linux> mysql -uroot -p
2. 접속 방법의 차이
1) host를 localhost로 입력하여 접속
linux> mysql -uroot -p --host=localhost --socket=/tmp/mysql.sock
호스트에 localhost를 입력하여 접속하게 되면 MySQL 클라이언트는 소켓 파일을 통해 MySQL 서버에 접속하게 되는데 이는 TCP/IP 통신 방법이 아니라 프로세스 간 통신(IPC)의 일종입니다.
2) host를 127.0.0.1로 입력하여 접속
linux> mysql -uroot -p --host=127.0.0.1 --port=3306
호스트에 127.0.0.1(루프백 IP)을 입력하는 경우에는 TCP/IP 통신 방법을 사용하게 됩니다. 원격 서버에 설치된 MySQL 서버에 접속할 때는 반드시 2번 방식으로 접속해야 합니다.
3) host를 입력하지 않고 접속
linux> mysql -uroot -p
호스트 주소와 포트를 명시하지 않고 접속하게 되면 기본값으로 호스트는 localhost가 되기때문에 소켓 파일을 사용하게 됩니다. 소켓 파일의 위치는 MySQL 설정 파일에서 읽어서 사용됩니다.