MariaDB를 설치해보자. CentOS의 기본 저장소에는 10.3버전이 있는데 현재 최신버전은 10.4.12 버전이다. 최신 버전으로 설치해보자.(10.5 버전은 베타버전이다.)
https://downloads.mariadb.org/
우선 MariaDB 저장소를 추가해준다.
# cd /etc/yum.repos.d/
# vi MariaDB.repo
# MariaDB 10.4 CentOS repository list - created 2020-02-29 08:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos8-amd64
module_hotfixes=1
gpgkey= https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
저장소에 10.4 버전이 맞는지 확인해본다.
# dnf info MariaDB-server
Available Packages
Name : MariaDB-server
Version : 10.4.12
...
확인이 되었다면 설치를 한다.
# dnf install MariaDB-server
설치가 완료되었다면 DB 초기화 작업이 필요하다.
mysql이 설치된 경로로 이동한 뒤 시스템 테이블을 생성해주는 DB 초기화 작업을 진행한다.
# mariadb-install-db --user=mysql --basedir=/usr
mariadb의 데이터가 /var/lib/mysql 경로에 생성된다. 이제 DB가 실행되는지 확인해보자.
# systemctl start mariadb
실행과정에서 에러가 발생하면 journalctl -xe 명령어로 에러 로그를 확인할 수 있다.
[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
...
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.db' doesn't exist
이런 에러가 떴다면 시스템 테이블이 생성되지 않았거나, 폴더 권한이 mysql 유저에게 없는 경우이다.
DB에 아무런 데이터가 없는 상태라면 폴더를 지우고 DB초기화 스크립트(mariadb-install-db)를 다시 돌려주면 된다. 만약 데이터가 있는 상태라면 chown을 이용해 권한을 넘겨주자.
# chown -R mysql:mysql /var/lib/mysql
이제 root 계정의 패스워드를 변경하고 익명 사용자의 접근을 막아야 한다.
# ./bin/mariadb-secure-installation
...
Enter current password for root (enter for none):
초기 root 패스워드는 없으므로 엔터
OK, successfully used password, moving on...
...
Switch to unix_socket authentication [Y/n] n
root 패스워드를 사용하기 위해 n을 입력한다.
... skipping.
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] Y
패스워드 변경을 위해 Y를 입력한다.
New password:
Re-enter new password:
Password updated successfully!
...
Remove anonymous users? [Y/n] Y
보안을 위해 익명사용자를 제거한다. Y
... Success!
...
Disallow root login remotely? [Y/n] Y
root 계정의 원격 접속여부이다. 필요시 n, 필요없다면 Y를 선택한다.
... Success!
...
Remove test database and access to it? [Y/n] Y
오라클 DB가 HR DB를 가지는 것처럼 mysql도 test DB가 있단다. 이를 유지할건지 물어본다. 난 필요없으니 Y. 필요하다면 n을 선택한다.
- Dropping test database...
...
Reload privilege tables now? [Y/n] Y
지금까지 설정한 내용을 적용할 것인지 물어본다. Y
... Success!
...
Thanks for using MariaDB!
지겨운 DB 설치가 끝을 맺었다.
지금까지 설치하고 설정한 내용이 제대로 적용되었는지 테스트해보자.
# mysql -h 127.0.0.1 -u root -p
'CentOS' 카테고리의 다른 글
Redis Server 설치하기 (0) | 2020.02.29 |
---|---|
MariaDB Trouble Shooting (0) | 2020.02.29 |
SNMP 설치하기 (0) | 2020.02.28 |
JAVA 설치하기 (0) | 2020.02.27 |
git 설치하기 (0) | 2020.02.27 |