우분투(Ubuntu) 22.04 Server MariaDB 설치 및 기본 설정
안녕하세요. YeopBox의 상큼한놈 입니다.
오늘은 우분투 22.04 Server에 MariaDB를 설치하는 방법에 대하여 알아보도록 하겠습니다.
Mariadb는 MySql 기반의 오픈소스 소프트웨어이며 현업에서도 많이 사용되고 있습니다.
이번에는 기본 설치 방법 외 기본 포트 변경 및 테이블 이름 대소문자 구분을 끄는 설정도 함께 진행하도록 하겠습니다.
mariaDB 설치하기
apt를 통하여 mariaDB의 server와 client 패키지를 설치합니다.
1 |
sudo apt install mariadb-server mariadb-client |
아래와 같이 설치가 진행되며, 설치가 완료된 이후 자동으로 서비스가 활성화됩니다.
설치하자마자 관리자 권한으로 mariadb(mysql)을 통하여 접속이 가능함이 확인되었습니다.
MariaDB 보안 설정하기
아래 커맨드를 입력하면 root에 대한 패스워드 및 테스트 테이블에 대한 삭제 등을 진행하실 수 있습니다.
1 |
sudo mariadb-secure-installation |
처음 실행시에는 password가 지정되어 있지 않기 때문에 공백 상태에서 enter키를 눌러주시면 됩니다.
unix_socket은 default 값으로 유지하며 root 패스워드를 지정해 줍니다. 이후 익명 개정은 삭제해 줍니다.
테스트 데이터베이스는 삭제해 준 뒤, 테이블에 대한 권한을 설정 대로 리로드 해줍니다.
설정 후 접속이 정상적으로 되는지 확인합니다.
1 2 3 4 5 |
//관리자 권한으로 DB접속 sudo mariadb //일반 계정으로 DB접속 mariadb -uroot -p password input |
테이블 대소문자 구분 설정 해제 및 기본 포트 변경하기
최초로 mariadb를 설치하면 리눅스 파일 시스템 기본 설정 상 윈도우와 다르게 테이블 이름이 대소문자를 구분합니다.
윈도우와 함께 이용하는 에이전트등에 문제가 있을 수 있기에 해당 설정을 먼저 수정해주는 편이나, 사내 정책에 맞춰 적용해주시면 됩니다.
먼저, 아래와 같이 lower_case_table_name 설정을 확인해면 default 값이 0임을 확인 할 수 있습니다.
1 |
show variables like 'lower_case_table_names'; |
값에 따른 의미는 아래와 같습니다.
lower_case_table_name | 기능 |
---|---|
0 | 테이블 대소문자 구분 |
1 | 테이블 대소문자 구분 없이 소문자로 저장 |
2 | 윈도우에서 테이블 대소문자 구분 |
mariadb 서버 설정 파일을 관리자 권한으로 문서편집기를 이용하여 엽니다.
1 |
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf |
주석 처리된 port 파일을 주석 해제한 뒤 원하는 임의의 포트를 입력해 줍니다.
또한 ‘lower_case_table_names’ 속성을 하단에 추가합니다.
1 2 |
port = 12346 lower_case_table_names = 1 |
이후 mariadb의 서비스를 다시 시작해줍니다.
1 |
sudo service mariadb restart |
아래 값을 확인하여 1로 잘 변경되었는지 확인해 봅니다.
1 |
show variables like 'lower_case_table_names'; |
이후 포트가 정상적으로 변경되었는지 확인해 줍니다.
1 |
telnet localhost (port) |
이후 ufw를 통한 방화벽 오픈을 진행해 주시면 됩니다. (이전 방화벽 관련 포스트를 참고해 주시면 됩니다.)
마치며…
DB 설치 방법은 각 DB 별로 다르기도 하며 설정도 번거로울 경우가 많습니다.
그래서 실 서버가 아닌 테스트 DB의 경우 Docker를 컨테이너를 이용하여 간단하게 구현하는 경우가 많습니다.
하지만 현업 DB의 경우 실제 서버에 구현되어야 하기 때문에 직접 설치해 보는 것도 좋은 경험이 될 것 같습니다.
사이트에 방문해주셔서 감사합니다.