반응형
MariaDB에서 인증은 주로 TCP/IP 방식과 UNIX 소켓 방식으로 이루어집니다. 이 글에서는 두 인증 방식의 차이와 MariaDB 접근 오류 시 해결 방법을 설명합니다.
1. TCP/IP 방식과 소켓 방식의 차이
1-1. TCP/IP 방식
- 네트워크를 통해 MariaDB에 접속하며, 127.0.0.1 또는 서버의 IP 주소를 사용.
- 원격 접속 및 네트워크 기반 연결 시 주로 사용.
- 명령어 예시:
- mysql -u user -p -h 127.0.0.1
1-2. UNIX 소켓 방식
- localhost로 접속 시 사용되며, 네트워크 없이 소켓 파일(/var/lib/mysql/mysql.sock)을 통해 직접 연결.
- 접속 속도가 빠르고 보안성이 뛰어나며, 동일 서버 내 로컬 접근에 최적화.
- 명령어 예시:
- mysql -u user -p -h localhost
2. MariaDB 접근 오류 원인
- 동일 사용자라도 TCP/IP 방식과 소켓 방식은 서로 다른 사용자로 인식.
- 각 방식에 맞는 별도 권한을 설정해야 함.
3. 오류 해결 방법
각 단계에 대한 설명:
- TCP/IP 접근 권한 부여: 네트워크를 통해 접근 시 필요한 권한을 설정하는 명령어로, 원격 연결 시 반드시 필요합니다.
- 소켓 접근 권한 부여: 로컬 환경에서 소켓을 통한 접근을 허용하기 위한 명령어입니다.
- 접근 방법 확인: 현재 MariaDB에 등록된 사용자와 접근 호스트를 확인하여 문제를 진단할 때 사용합니다.
3-1. TCP/IP 접근 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'user'@'127.0.0.1' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
3-2. 소켓 접근 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
3-3. 접근 방법 확인
SELECT User, Host FROM mysql.user;
4. UNIX 소켓 방식 추가 설명
- UNIX 소켓은 네트워크 없이 빠르고 안전한 파일 기반 통신 방식.
- 데이터베이스와 애플리케이션이 직접 연결하며, 로컬 환경에서 주로 사용.
- 보안 장점: 네트워크를 사용하지 않아 외부 공격에 노출될 위험이 적으며, 방화벽 규칙 설정이 필요 없습니다.
- 제한사항: 동일한 서버 내에서만 사용 가능하며, 원격 접속에는 사용할 수 없습니다.
5. 결론
MariaDB에서 TCP/IP와 소켓 방식은 인증 방식이 다르며, 각 방식에 맞는 권한 설정이 필요합니다. 이를 이해하고 설정해야 Access denied 오류를 방지할 수 있습니다.
반응형
'보안 엔지니어링 > 데이버베이스 관리' 카테고리의 다른 글
MySQL 연결 설정 방법 차이점 : Localhost, 127.0.0.1 (0) | 2025.03.24 |
---|---|
MariaDB 다운그레이드 및 업그레이드 가이드 (Oracle Linux 8.10 기준) (0) | 2025.02.18 |
MySQL 'Connection refused' 오류 해결법: 원격 접속 설정 완벽 가이드 (0) | 2025.02.17 |