프로젝트에서 MariaDB를 사용하기로 했다. MySQL의 경우, 개인 사용만 무료기 때문에 MariaDB를 선택했다. MySQL이나 MariaDB나 비슷하니까 프로젝트용이면 어느걸 사용해도 크게 상관없다.
Ubuntu 20.04에 설치하기
설치법은 사실 인터넷 검색하면 너무 많이 나와서 참고한 블로그로 대체하겠다...
mariaDB 설치 및 초기 설정 (Ubuntu)
Ubuntu에서 mariaDB를 설치하고 초기 설정을 해봅니다.
velog.io
접속 안 되는 문제 해결
설치까지는 문제가 없었으나 외부에서 접속이 안 되는 문제가 발생했다. 나는 오라클 클라우드를 사용했는데 클라우드 VCN 방화벽은 제대로 내 IP가 허용되어있고, iptables를 확인해봐도 문제될만한게 없었다. 어제 연결 테스트만 엄청 하다가 시간만 날리고... 오늘 드디어 해결 방법은 찾았다.
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

위 파일의 내용을 살펴보면 처음에 bind-address가 127.0.0.1로 되어있을 것이다. localhost 통신은 외부로 나가지 않기 때문에 이걸 0.0.0.0으로 변경해주어야 한다.
여기까지 하면 일단 연결을 거부했다는 오류가 아닌 권한이 없다는 새로운 오류로 바뀐 것을 확인할 수 있다.

이제 적절한 권한 부여 처리를 해야 한다.
sudo mysql -u root -p
MariaDB에 접속해서 유저 정보를 확인해본다.
select host, user, password from mysql.user;

현재는 root에 대한 localhost 연결만 허용하니 root에 대한 다른 host 접근을 허용하거나
유저를 하나 새로 만들어서 사용하는 방법이 있다.
다른 사람도 유저를 만들어서 써야하기에 나는 후자를 선택했다.
CREATE USER '아이디'@'%' identified by '비밀번호';

유저를 하나 새로 만들었다. %로 지정하여 어디서든 접근할 수 있도록 했다.
SELECT host, user, password FROM mysql.user;

테스트 환경이라 비밀번호를 그냥 지었는데 실제 운영 환경이라면 신경써서 지어야 한다.
CREATE DATABASE 데이터베이스명;
GRANT ALL PRIVILEGES ON DB명.* TO '유저명'@'%';
FLUSH PRIVILLEGES;

그 다음에 DB를 하나 생성하고, 새로 만든 계정에 해당 DB에 대한 모든 권한을 허용했다.

이제 테스트 연결을 해보면 잘 연결되는 것을 확인할 수 있다!!!
전에 GCP를 사용할 때는 Cloud SQL을 사용했기 때문에 큰 문제없이 사용할 수 있었는데 직접 VM인스턴스에 설치하려니 여러 우여곡절이 있었지만 그래도 결국 잘 해결할 수 있었다!
'공부 > 데이터베이스' 카테고리의 다른 글
| [DB][SQLD][2024] SQLD 개념 요약 정리 (0) | 2024.08.23 |
|---|---|
| [DB][SQLD][2024] 2-3 관리 구문 정리 (0) | 2024.08.22 |
| [DB][SQLD][2024] 2-2 SQL 활용 정리 (0) | 2024.08.21 |
| [DB][SQLD][2024] 2-1 SQL 기본 정리 (0) | 2024.08.19 |
| [DB][SQLD][2024] 1-2 데이터 모델과 SQL 정리 (0) | 2024.08.18 |