Mariadb 최신버전 설치하기 (CentOS7, 10.1 기준)

Posted by Everyharu
2016. 6. 21. 11:37 IT/서버세팅

본 설치가이드는 CentOS7 에서 Mariadb 10.1 을 설치하는 기준입니다.

mariadb10 설치

vim /etc/yum.repos.d/MariaDB.repo

1
2
3
4
5
6
7
# MariaDB 10.1 centos repository
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
cs

yum install -y mariadb mariadb-server
설치가 완료되면 간단하게 설정을 한다.

vim /etc/my.cnf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[mysql]
default-character-set = utf8
 
[mysqld]
skip-host-cache
skip-name-resolve
lower_case_table_names=1
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server = utf8
collation-server = utf8_general_ci
max_connections = 500 
thread_pool_max_threads = 300 
innodb_file_per_table                           # innodb 테이블스페이스를 테이블별로 각각의 파일로 나누어 생성한다. 
innodb_buffer_pool_size = 2G               # 버퍼풀의 메모리 사이즈. 권장은 메인메모리의 50~70% (전용서버일때) 디폴트는 8M  
innodb_flush_log_at_trx_commit = 1 
innodb_adaptive_flushing = ON
innodb_adaptive_hash_index = ON
innodb_autoextend_increment  = 8  # 테이블스페이스를 자동으로 늘려주는 단위, MB 단위이다. 
 
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
 
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
 
!includedir /etc/my.cnf.d
cs

위처럼 설정했으면 이제 mariadb 를 최초 실행해준다.

systemctl start mariadb
systemctl enable mariadb


그리고 다음을 실행한다.

1
mysql_secure_installation
cs

mysql 의 기본보안설정이다. testdb등을 삭제해야한다.
처음에 패스워드를 물어보면 그냥 엔터로 넘어가고 추가적으로 새로운 패스워드를 설정하겠냐고 물어보니 설정하자.
Change the root password? [Y/n] y

이후 질답

1
2
3
4
5
6
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
 
systemctl restart mariadb.service
cs

이렇게 하고나면 접속할 사용자 계정이 필요해진다.

1
mysql -uroot -p
cs

아까 설정한 password를 입력하여 접속하자.

이후에 다음과 같이 권한설정과 함께 내가 사용할 root이외의 계정을 만들자. 한글로 되어있는 부분을 잘 변경해서 입력하자.

1
2
GRANT ALL PRIVILEGES ON *.* TO '이부분에 사용할 계정명'@'%' IDENTIFIED BY '이부분에 사용할 패스워드 입력' WITH GRANT OPTION;
FLUSH PRIVILEGES;
cs

설정이 완료되면 exit 를 입력하여 나오도록 한다.


centos7 부터는 firewall-cmd 를 기본으로 사용하게 된다.

3306 포트를 열어주도록 하자.


firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --list-all