-
MySQL 서버 연결 및 url 출력하기Database 2023. 7. 3. 20:49
로그인
$ mysql -uroot -p --host=localhost --socket=/tmp/mysql.sock $ mysql -uroot -p --host=127.0.0.1 --port=3306 $ mysql -uroot -p $ mysql -u [username] -p
첫 번째 방식은 MySQL 소켓 파일을 이용해 접속하는 예시입니다. macOS의 MySQL 기본 소켓 파일 경로는 '/tmp/mysql.sock'입니다. 두 번째 방식은 TCP/IP를 통해 127.0.0.1(로컬 호스트)로 접속하는 예시입니다. 원격 호스트에 있는 MySQL 서버에 접속할 때는 반드시 두 번째 방법을 사용해야 합니다. 호스트와 포트를 입력하지 않는 세 번째 방식은 기본값으로 호스트는 localhost가 되며 소켓 파일을 사용하게 되는데, 소켓 파일의 위치는 MySQL 서버의 설정 파일에서 읽어서 사용합니다.
MySQL 서버에 접속할 때 호스트를 localhost로 명시하는 것과 127.0.0.1로 명시하는 것은 각각 의미가 다릅니다. localhost를 명시하면 MySQL 클라이언트 프로그램은 항상 소켓 파일을 통해 서버에 접속합니다. 소켓 파일은 같은 시스템 내의 프로세스 간에 데이터를 교환하는 데 사용됩니다. 이는 TCP/IP를 통한 통신이 아닌 IPC(Inter Process Communication)로, 네트워크를 통한 통신이 아닌 로컬에서의 통신을 수행하기 때문에 성능이 향상됩니다.
URL 출력
MySQL url 형식
mysql://[username]:[password]@[host]:[port]/[database]
데이터베이스 출력
$ mysql> show databases; +----------------------+ | Database | +----------------------+ | tododb | +----------------------+ 1 row in set (0.00 sec)
포트 번호 출력
$ mysql> show variables like 'port'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | port | 3306 | +---------------+-------+ 1 row in set (0.00 sec)
jdbc datasource url 예시
jdbc:mysql://127.0.0.1:3306/tododb
스프링 프레임워크의 설정 파일(properties 혹은 yml)에서 username과 password는 따로 변수로 넘겨주기 때문에 url에서 생략
참조
Real MySQL 8.0