우분투에 MariaDB 설치
LEMP 스택에서 디비는 MariaDB를 설치한다.
MariaDB란?
MariaDB(마리아디비)는 mysql 과 호환되는 데이터베이스이다. mysql 와 동일한 소스코드를 기반으로 한다.
MariaDB 설치
마리아디비 공식 홈페이지에서 설치할 패키지 정보를 찾아야한다. MariaDB 서버를 설치하면 클라이언트도 자동으로 설치된다.
1.MariaDB 공식 홈페이지 다운로드에서 OS종류(우분투)와 OS버전, MariaDB 버전을 선택하고 Mirror 에서 다운로드할 가까운 곳을 선택한다.
참고로 설치된 서버의 우분투 버전은 다음 명령어로 확인할 수 있다.
cat /etc/os-release
2. MariaDB 패키지 저장소 설정
Mirror 선택창 아래에 생긴 명령어가 한 줄씩 복사해서 터미널에 붙여 넣고 엔터키를 눌러 실행한다.
sudo apt-get install apt-transport-https curl sudo curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc' sudo sh -c "echo 'deb https://ftp.harukasan.org/mariadb/repo/10.8/ubuntu focal main' >>/etc/apt/sources.list"
3. MariaDB 설치
아래 명령어를 한 줄씩 터미널에 입력한다.
sudo apt-get update sudo apt-get install mariadb-server
Do you want to continue? [Y/n] y를 입력하면 설치가 진행된다.
설치가 끝나면 MariaDB는 자동으로 시작한다.
MariaDB 실행중인지 확인
MariaDB가 실행중인지 확인하려면 다음 명령어를 입력한다.
Active: active(running) 이라고 나오면 실행 중이다.
sudo systemctl status mariadb
MariaDB 서버 시작
서버가 시작되어 있지 않으면 서버를 시작시킨다.
service mysql start
MariaDB 재시작
필요에 따라 디비를 재시작하려면 다음 명령어를 일벽한다.
sudo service mysql restart
MariaDB 버전 확인
설치한 MariaDB 버전을 확인하려면 아래 명령어를 입력한다.
mariadb -V
MariaDB 열기
MariaDB 10.0 부터 Unix Socket 방식으로 인증방식이 바뀌었다. mysql 사용자와 시스템 사용자를 일치시킨다. mysql 에는 root 사용자가 있는데 시스템 root 사용자라면 mysql 내부에 비밀번호를 지정하지 않아도 된다. 굳이 msyql 내의 root 에 비밀번호를 지정할 수도 있다.
MariaDB 에 들어가려면 그냥 아래와 같이 하면 된다. 예전에는 mysql -u root -p 이런식으로 했었다. sudo 로서 root 권한이 있다는 사실만 증명하면, mysql 에선 다른 인증을 하지 않는다.
sudo mysql
exit 를 입력해 빠져나올 수 있다.
MariaDB 기본 언어 인코딩을 UTF-8로 변경
MariaDB 기본 언어셋은 설치했을 때 latin1 (라틴문자 언어셋)으로 되어있다. 한글을 사용해야 하니 UTF-8로 변경한다. 이모티콘도 저장할 수 있는 utf8mb4로 변경한다.
1. MariaDB 설정 파일에 언어셋을 추가
/etc/mysql/conf.d/mariadb.cnf 파일에 설정한다.
sudo vi /etc/mysql/conf.d/mariadb.cnf
아직 파일이 없으므로 아래 내용을 복사해서 붙여 넣고 저장해서 파일을 새로 만든다.
[client] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci character_set_server = utf8mb4 collation_server = utf8mb4_unicode_ci
2. MariaDB 서버 재시작
설정한 언어셋을 적용하기 위해 서버를 재시작한다.
sudo service mysql restart
언어셋이 설정되었는지 MariaDB 서버에 들어가서 확인할 수 있다.
sudo mysql
mysql 에서 status를 치면 확인할 수 있다. characterset 이 utf8mb4 로 바뀐걸 볼 수 있다.
MariaDB [(none)]> status -------------- mysql Ver 15.1 Distrib 10.8.3-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 Connection id: 12552 Current database Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 10.8.3-MariaDB-1:10.8.3+maria~focal mariadb.org binary distribution Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 UNIX socket: /run/mysqld/mysqld.sock Uptime: 13 hours 34 min 1 sec
다음은 LEMP 스택에서 마지막인 PHP 를 설치한다.