어우 솔루션에 VIEW 테이블을 가지고 있어서 이놈 저놈 오픈해 달라는 요청이 많다.
어쨋든,
DB에 접근하는 방법은 다양하다.
- 접속 Tool 의 활용 (PLSQL, Toad, Orange, dbeaver, HeidiSQL, SQL Developer 등등...)
- 커멘더 활용 등
과연 특정 서버에 있는 DB에 접속이 이루어 질 때, 어떻게 접근을 할까?
그 답은 내부서버에서 DB에 접근을 하던지 외부에서 DB에 접근을 하던지 mysql.sock 이라는 파일을 통해 DB로 접근하게 된다.
(Windows 계열은 my.ini 파일로 관리 / Linux 계열은 my.cnf 설정파일에 mysql.sock 파일 경로를 박제하여 관리)
DB 접속툴을 사용해서 특정 서버에 있는 MySQL 에 접속한다고 가정을 하자.
그럼 DB 접속툴에 특정 서버의 IP:PORT 정보 / ID,PW 정보 / 를 입력하여 접속을 한다.
오? 접속이 되네?
그럼 IP:PORT 와 ID, PW 정보를 입력하였는데 특정 서버(OS)에서 어떻게 DB까지 요청이 갔단 말인가!
바로 mysql.sock 파일이 그 역활을 한다.
mysql.sock 파일이 MySQL 기동되어 있을 때 소켓생성하여 접속툴(Client) 와 세션을 맺어 접속이 가능하게 되는 원리이다.
그럼 mysql.sock 파일의 경로는?
/usr/local/etc/my.cnf MySQL의 설정을 담당하는 my.cnf 파일을 열어보자!
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
* https://zetawiki.com/wiki/MySQL_%EC%84%A4%EC%A0%95%ED%8C%8C%EC%9D%BC_my.cnf 제타위키 예시 인용
my.cnf 파일을 열어 보면 소켓 파일의 위치가 /var/lib/mysql/mysql.sock 에 위치하고 있는 것을 알 수 있다.
하지만 이것은 내부에서 접근 가능한 설정이며, 특정 Linux 계열의 서버에 위와 같은 설정으로 설치 하였다면,
외부에서 접근하는 접속은 차단될 수 있다.
따라서, Linux 계열에서는 mysql.sock 파일의 위치를 /tmp/mysql.sock 으로 옮기고 심볼릭링크를 걸어 주도록 하자.
* mysql.sock 위치 찾기
find / -name mysql.sock
sudo ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
ls -al
mysql.sock -> /tmp/mysql.sock
어쨋거나 저깻거나 /tmp/mysql.sock 으로 TCP/IP로 들어오는 외부 요청에 대한 세션을 담당할 수 있게 되려면
/tmp/mysql.sock 파일을 인식하여야 한다. 그래야 특정 서버의 DB로 접근이 가능하다.
* 나도 아직 명확하게 이해는 안됐다, 아시는분 댓글좀...
어쨋든 오늘은 끗.
본문 내용이 도움이 되셨다면, 아래의 공감버튼을 눌러주세요.
정보 공유를 위한 포스팅에 큰 힘이 됩니다.
만약 틀린 정보가 있으면 댓글 달아주세요. 수정하도록 하겠습니다.
읽어주셔서 감사합니다. 오늘도 좋은 하루 보내세요.
'DB' 카테고리의 다른 글
Cause: java.sql.SQLException: Disk full (0) | 2021.11.30 |
---|---|
MySQL error 1040 "Too many connections" & Increase max connections 에러 해결 (0) | 2021.09.30 |
MySQL , MariaDB 쿼리 로그 보기 (0) | 2021.09.30 |
cmd MySQL 접속하기 !! (0) | 2021.09.29 |
MariaDB 계정 생성, 조회, 비밀번호 변경, 권한 조회, 권한 변경 (0) | 2021.09.28 |