protocol option - SOCKET 에 대해...
프로그래밍???/MYSQL2016. 8. 3. 17:42
오랜만에 수정하는 작업이 하나 있었다.
해당 서버의 mysql의 계정 설정이 하나 빠진 것이 있어 공인IP로 접속이 되지 않았다.
관련해서 이런저런 얘기를 팀원과 하다가 하나 배운 것이 있다.
바로 protocol 옵션에 대한 것이다. 실제 사용 DB는 mariadb 5.x.x 버전이다.
mysql의 메뉴얼 페이지를 보자.
4.2.2 Connecting to the MySQL Server
클릭을 하면 바로 protocol 쪽으로 이동한다.
네개의 옵션이 있다. 정확하지는 않지만 아랫쪽으로 갈수록 빠를듯 하다.
PIPE와 MEMORY는 윈도우즈에서만 사용가능하고
SOCKET은 Unix Only이다.
내용에 보듯이 unix(linux)에서 localhost로 접속하게 되면 기본적으로 Unix socket file을 사용한다는 내용이다.
당연히 TCP 보다 빠르다.
127.0.0.1로 접속하면 TCP로 접속하지만 localhost로 접속하면 unix socket으로 접속한다.
간단하지만 db의 local machine에서 작업을 해야한다면 염두에 둬야할 내용이다.
127.0.0.1로 접속 하는 경우
MariaDB [(none)]> \s -------------- mysql Ver 15.1 Distrib 5.5.34-MariaDB, for Linux (x86_64) using readline 5.1 Connection id: 115593510 Current database: Current user: finepoint@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 5.5.36-MariaDB-log MariaDB Server Protocol version: 10 Connection: 127.0.0.1 via TCP/IP Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8
localhost로 접속 하는 경우
MariaDB [(none)]> \s -------------- mysql Ver 15.1 Distrib 5.5.34-MariaDB, for Linux (x86_64) using readline 5.1 Connection id: 115586990 Current database: Current user: finepoint@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 5.5.36-MariaDB-log MariaDB Server Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/lib/mysql/mysql.sock
'프로그래밍??? > MYSQL' 카테고리의 다른 글
mysql_affected_rows가 "0"를 반환할때... (0) | 2016.12.20 |
---|---|
Numeric Type의 display width (704) | 2016.09.07 |
mysql DB 생성/삭제, 사용자 생성/삭제, 권한부여 (0) | 2015.07.03 |
mysql_store_result를 사용할때 주의 사항(memory leak) (0) | 2012.07.11 |
mysql_insert_id() 오류 (0) | 2012.01.10 |