MariaDB

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

MariaDB를 정리 합니다.

MariaDB 개요

CentOS 6.5에서 MariaDB 설치

MariaDB 저장소 생성

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

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

MariaDB 설치

yum update
yum install MariaDB-client MariaDB-server MariaDB-devel

service mysqld start
mysql_secure_installationmysql -u root -p mysql
   quit

MariaDB 환경 설정


vi /etc/my.cnf

yum update
yum install MariaDB-client MariaDB-server MariaDB-devel

service mysql start
mysql_secure_installation

mysql -u root -p mysql
   quit

CentOS 7에서 MariaDB 설치

MariaDB 설치

yum -y install mariadb-server mariadb

systemctl restart mariadb.service
systemctl enable mariadb.service

# mysqladmin password
mysql_secure_installation

vi /etc/my.cnf
    [mysqld]
    default-storage-engine=InnoDB


MariaDB UTF-8 설정

vi /etc/my.cnf
    [mysqld]
    init_connect="SET collation_connection=utf8_general_ci"
    init_connect="SET NAMES utf8"
    character-set-server=utf8
    collation-server=utf8_general_ci
    skip-character-set-client-handshake

vi /etc/my.cnf.d/client.cnf
    [client]
    default-character-set=utf8
    [client-mariadb]
    default-character-set=utf8

vi /etc/my.cnf.d/mysql-clients.cnf
    [mysql]
    default-character-set=utf8
    [mysqldump]
    default-character-set=utf8

systemctl restart mariadb.service
mysql -u root -p비밀번호 mysql -e "show variables like 'c%'"


MariaDB 데이터 폴더 위치 변경
#---     /data/database/mariadb
#---     SELinux 설정 변경

mkdir -p /data/database/mariadb

systemctl stop mariadb.service
vi /etc/my.cnf
    [mysqld]
    datadir=/data/database/mariadb

cd /var/lib/mysql
tar cvf /data/mariadb.tar *

chown mysql:mysql /data/database/mariadb
cd /data/database/mariadb
tar xvf /data/mariadb.tar

yum -y install policycoreutils-python
semanage fcontext -a -t mysqld_db_t "/data/database/mariadb(/.*)?"
restorecon -Rv /data/database/mariadb
chcon --reference=/var/lib/mysql /data/database/mariadb

systemctl start mariadb.service

MariaDB UTF-8 설정


MariaDB JDBC Driver

관리자 가이드

데이터 폴더 위치 변경

MariaDB를 종료 합니다.

service mysql stop

SELinux 보안 설정 수정

setenforce 0

vi /etc/selinux/config
    SELINUX=permissive

vi /etc/init.d/mysql

datadir=/cloudnas/database/mysql

vi /etc/my.cnf.d/server.cnf

[mysqld]
datadir=/cloudnas/database/mysql

MariaDB를 기동 합니다.

service mysql start

MariaDB를 데이터 폴더 변경 여부를 확인 합니다.

mysql -uroot -p mysql

show variables where variable_name = 'datadir';

오류 : Headers and client library minor version mismatch

오류 메시지

Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50173 Library:50312 in /cloudnas/www/ossbiz/public_html/blog/wp-includes/wp-db.php on line 1409


버전 확인

php -i | grep 'Client API'


조치 방안

yum erase php-mysql
yum install php-mysqlnd


참고 문헌

Galera Cluster

Galera Cluster에서 1개의 node만 write로 구성(DeadLock 회피)하고 Auto Increment (Table Lock 발생)를 사용하지 않으면 무단하게 구성할 수 있다고 합니다.

yum install MariaDB-Galera-server MariaDB-client galera

참고 문헌