Souce Install MariaDB 10.3 on CentOS 7

MariaDB 10.3 소스 인스톨(컴파일) 설치 가이드

MariaDB 10.3 버전은 MariaDB 10.1 버전 설치 방법과 크게 다르진 않습니다. 이전 버전과의 차이점은 OpenSSL 대신 GnuTLS 패키지가 기본값으로 변경되었습니다. 때문에 해당 패키지를 설치하지 않으면 Could NOT find GnuTLS (missing: GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR) 라는 메세지가 나오면서 설치가 되지 않습니다.

의존성 패키지 설치 (gnutls-devel 패키지 추가)

yum -y install cmake make gcc gcc-c++ ncurses-devel libevent openssl openssl-devel gnutls-devel libxml2 libxml2-devel bison wget

유저생성

useradd -M -r -s /sbin/nologin maria

다운로드

cd /data/apps/dn
wget https://downloads.mariadb.org/f/mariadb-10.3.12/source/mariadb-10.3.12.tar.gz/from/http%3A//ftp.kaist.ac.kr/mariadb/?serve --content-disposition

압축해제

tar xvzf mariadb-10.3.12.tar.gz

configure

mkdir /data/apps/dn/mariadb-10.3.12/target
cd /data/apps/dn/mariadb-10.3.12/target

cmake .. \
-DCMAKE_INSTALL_PREFIX=/data/apps/src/mariadb-10.3.12 \
-DINSTALL_SYSCONFDIR=/data/apps/src/mariadb-10.3.12/etc \
-DINSTALL_SUPPORTFILESDIR=/data/apps/src/mariadb-10.3.12/support-files \
-DTMPDIR=/data/apps/src/mariadb-10.3.12/tmp \
-DPID_FILE_DIR=/data/apps/src/mariadb-10.3.12 \
-DDAEMON_NAME=mariadb \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_DATADIR=/data/apps/src/mariadb-10.3.12/data \
-DMYSQL_UNIX_ADDR=/data/apps/src/mariadb-10.3.12/mysql.sock \
-DENABLED_LOCAL_INFILE=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DWITH_JEMALLOC=no \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_ARIA_STORAGE_ENGINE=1 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
-DWITH_QUERY_CACHE_INFO=1 \
-DWITH_QUERY_RESPONSE_TIME=1 \
-DWITH_SAFEMALLOC=AUTO \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

컴파일 및 설치

make && make install

권한 수정 및 tmp, logs 디렉토리 생성

mkdir /data/apps/src/mariadb-10.3.12/tmp /data/apps/src/mariadb-10.3.12/logs
chown maria. /data/apps/src/mariadb-10.3.12

링크생성

cd /data/apps/ln
ln -s /data/apps/src/mariadb-10.3.12 mariadb

설정파일 편집
: vi /data/apps/ln/mariadb/etc/my.cnf

https://github.com/fallboyz/umount.net-config/blob/master/mariadb/my.cnf

systemd 파일생성
: vi /etc/systemd/system/mariadb.service

[Unit]
Description=MariaDB Database Server
After=syslog.target
After=network.target

[Service]
KillMode=process
KillSignal=SIGTERM
SendSIGKILL=no

User=maria
Group=maria

LimitNOFILE=infinity
LimitNPROC=4096
LimitCORE=infinity
PermissionsStartOnly=true
PrivateTmp=true
OOMScoreAdjust=-1000
ExecStartPre=sync
ExecStartPre=sysctl -q -w vm.drop_caches=3
ExecStart=/data/apps/ln/mariadb/bin/mysqld --defaults-file=/data/apps/ln/mariadb/etc/my.cnf --plugin-dir=/data/apps/ln/mariadb/lib/plugin --pid-file=/data/apps/ln/mariadb/mysqld.pid
Restart=always
RestartSec=1
TimeoutSec=300

systemd 등록 및 실행

systemctl enable mariadb
systemctl start mariadb

log directory 링크

ln -s /data/apps/ln/mariadb/logs/ /data/logs/mariadb

MySQLTuner-perl 라는 오픈소스가 있습니다. 이 튜너를 실행 하면 시스템 사양에 맞게 my.cnf 에서 튜닝해야 할 요소들을 검색해서 찾아 주기 때문에 사용해 보시길 추천 드립니다.

You may also like...

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x