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 에서 튜닝해야 할 요소들을 검색해서 찾아 주기 때문에 사용해 보시길 추천 드립니다.