"MariaDB"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글
 
(같은 사용자의 중간 판 10개는 보이지 않습니다)
1번째 줄: 1번째 줄:
 
MariaDB를 정리 합니다.
 
MariaDB를 정리 합니다.
  
*홈페이지 :  
+
*홈페이지 : https://mariadb.org/
*다운로드 :  
+
*다운로드 : https://downloads.mariadb.org/
*플랫폼 :  
+
*플랫폼 :
*라이선스 :  
+
*라이선스 :
  
==MariaDB 개요==
+
== MariaDB 개요 ==
  
 
== CentOS 6.5에서 MariaDB 설치 ==
 
== CentOS 6.5에서 MariaDB 설치 ==
17번째 줄: 17번째 줄:
 
|-
 
|-
 
| style="background-color: rgb(241, 241, 241);" |  
 
| style="background-color: rgb(241, 241, 241);" |  
[mariadb]<br/>name = MariaDB<br/>baseurl = [http://yum.mariadb.org/10.0/centos6-amd64 http://yum.mariadb.org/10.0/centos6-amd64]<br/>gpgkey=[https://yum.mariadb.org/RPM-GPG-KEY-MariaDB https://yum.mariadb.org/RPM-GPG-KEY-MariaDB]<br/>gpgcheck=1
+
[mariadb]<br />name = MariaDB<br />baseurl = http://yum.mariadb.org/10.0/centos6-amd64<br />gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB<br />gpgcheck=1
  
 
|}
 
|}
 
 
  
 
'''<span style="color: rgb(0, 0, 255);"><span style="font-size: larger;">MariaDB 설치</span></span>'''
 
'''<span style="color: rgb(0, 0, 255);"><span style="font-size: larger;">MariaDB 설치</span></span>'''
28번째 줄: 26번째 줄:
 
|-
 
|-
 
| style="background-color: rgb(241, 241, 241);" |  
 
| style="background-color: rgb(241, 241, 241);" |  
yum update<br/>yum install MariaDB-client MariaDB-server MariaDB-devel
+
yum update<br />yum install MariaDB-client MariaDB-server MariaDB-devel
  
service mysqld start<br/>mysql_secure_installationmysql -u root -p mysql<br/>&nbsp; &nbsp;quit
+
service mysqld start<br />mysql_secure_installationmysql -u root -p mysql<br />&nbsp; &nbsp;quit
  
 
|}
 
|}
 
 
  
 
'''<span style="color: rgb(0, 0, 255);"><span style="font-size: larger;">MariaDB 환경 설정</span></span>'''
 
'''<span style="color: rgb(0, 0, 255);"><span style="font-size: larger;">MariaDB 환경 설정</span></span>'''
45번째 줄: 41번째 줄:
 
|-
 
|-
 
| style="background-color: rgb(241, 241, 241);" |  
 
| style="background-color: rgb(241, 241, 241);" |  
yum update<br/>yum install MariaDB-client MariaDB-server MariaDB-devel
+
yum update<br />yum install MariaDB-client MariaDB-server MariaDB-devel
  
service mysql&nbsp;start<br/>mysql_secure_installation
+
service mysql&nbsp;start<br />mysql_secure_installation
  
mysql -u root -p mysql<br/>&nbsp; &nbsp;quit
+
mysql -u root -p mysql<br />&nbsp; &nbsp;quit
  
 
|}
 
|}
55번째 줄: 51번째 줄:
 
== CentOS 7에서 MariaDB 설치 ==
 
== CentOS 7에서 MariaDB 설치 ==
  
*[[CentOS|CentOS]] 7에서 MariaDB 설치
+
MariaDB 설치
 +
<pre>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</pre>
 +
<br />MariaDB UTF-8 설정
 +
<pre>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%'"</pre>
 +
<br />MariaDB 데이터 폴더 위치 변경<br />#--- &nbsp; &nbsp; /data/database/mariadb<br />#--- &nbsp; &nbsp; SELinux 설정 변경
 +
<pre>mkdir -p /data/database/mariadb
 +
 
 +
systemctl stop mariadb.service
 +
vi /etc/my.cnf
 +
    [mysqld]
 +
    datadir=/data/database/mariadb
  
yum install mariadb-server mariadb
+
cd /var/lib/mysql
+
tar cvf /data/mariadb.tar *
systemctl start mariadb.service
 
systemctl enable mariadb.service
 
  
*MariaDB 환경 설정
+
chown mysql:mysql /data/database/mariadb
 +
cd /data/database/mariadb
 +
tar xvf /data/mariadb.tar
  
mysql_secure_installation
+
yum -y install policycoreutils-python
+
semanage fcontext -a -t mysqld_db_t "/data/database/mariadb(/.*)?"
mysql -u root -p mysql
+
restorecon -Rv /data/database/mariadb
    quit
+
chcon --reference=/var/lib/mysql /data/database/mariadb
  
 +
systemctl start mariadb.service</pre>
 
== MariaDB UTF-8 설정 ==
 
== MariaDB UTF-8 설정 ==
  
78번째 줄: 116번째 줄:
 
== MariaDB JDBC Driver ==
 
== MariaDB JDBC Driver ==
  
*다운로드 사이트 :&nbsp;https://downloads.mariadb.org/client-java/
+
*다운로드 사이트&nbsp;:&nbsp;https://downloads.mariadb.org/client-java/
  
 
== 관리자 가이드 ==
 
== 관리자 가이드 ==
92번째 줄: 130번째 줄:
  
 
|}
 
|}
 
 
  
 
SELinux 보안 설정 수정
 
SELinux 보안 설정 수정
101번째 줄: 137번째 줄:
 
| style="background-color: rgb(241, 241, 241);" |  
 
| style="background-color: rgb(241, 241, 241);" |  
 
setenforce 0
 
setenforce 0
<div>vi /etc/selinux/config<br/>&nbsp;&nbsp; &nbsp;SELINUX=permissive<br/></div>
+
<div>vi /etc/selinux/config<br />&nbsp;&nbsp; &nbsp;SELINUX=permissive<br /></div>
 
|}
 
|}
 
 
  
 
vi /etc/init.d/mysql
 
vi /etc/init.d/mysql
114번째 줄: 148번째 줄:
  
 
|}
 
|}
 
 
  
 
vi /etc/my.cnf.d/server.cnf
 
vi /etc/my.cnf.d/server.cnf
122번째 줄: 154번째 줄:
 
|-
 
|-
 
| style="background-color: rgb(241, 241, 241);" |  
 
| style="background-color: rgb(241, 241, 241);" |  
[mysqld]<br/>datadir=/cloudnas/database/mysql
+
[mysqld]<br />datadir=/cloudnas/database/mysql
  
 
|}
 
|}
  
 +
MariaDB를 기동 합니다.
  
 +
{| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; font-size: 14px; color: rgb(37, 37, 37); font-family: sans-serif; width: 100%;"
 +
|-
 +
| style="background-color: rgb(241, 241, 241);" |
 +
service mysql start
  
MariaDB를 기동 합니다.
+
|}
 +
 
 +
MariaDB를 데이터 폴더 변경 여부를 확인 합니다.
 +
 
 +
mysql -uroot -p mysql
  
 
{| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; font-size: 14px; color: rgb(37, 37, 37); font-family: sans-serif; width: 100%;"
 
{| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; font-size: 14px; color: rgb(37, 37, 37); font-family: sans-serif; width: 100%;"
 
|-
 
|-
 
| style="background-color: rgb(241, 241, 241);" |  
 
| style="background-color: rgb(241, 241, 241);" |  
service mysql start
+
show variables where variable_name = 'datadir';
  
 
|}
 
|}
 +
 +
=== 오류&nbsp;:&nbsp;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<br />yum install php-mysqlnd
 +
 +
 +
 +
참고 문헌
 +
 +
*http://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/
  
 
== Galera Cluster ==
 
== Galera Cluster ==
  
 
Galera Cluster에서 1개의 node만 write로 구성(DeadLock 회피)하고 Auto Increment (Table Lock 발생)를 사용하지 않으면 무단하게 구성할 수 있다고 합니다.
 
Galera Cluster에서 1개의 node만 write로 구성(DeadLock 회피)하고 Auto Increment (Table Lock 발생)를 사용하지 않으면 무단하게 구성할 수 있다고 합니다.
 +
 +
<pre class="fixed" style="padding: 9px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; margin-top: 0px; margin-bottom: 20px; line-height: 20px; word-break: break-all; word-wrap: normal; white-space: pre; border: 1px solid rgb(227, 227, 227); min-height: 20px; -webkit-box-shadow: rgba(0, 0, 0, 0.0470588) 0px 1px 1px inset; box-shadow: rgba(0, 0, 0, 0.0470588) 0px 1px 1px inset; overflow-x: auto; background-color: rgb(245, 245, 245);">yum install MariaDB-Galera-server MariaDB-client galera</pre>
 +
== 참고 문헌 ==
  
  
<pre class="fixed" style="padding: 9px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; margin-top: 0px; margin-bottom: 20px; line-height: 20px; word-break: break-all; word-wrap: normal; white-space: pre; border: 1px solid rgb(227, 227, 227); min-height: 20px; -webkit-box-shadow: rgba(0, 0, 0, 0.0470588) 0px 1px 1px inset; box-shadow: rgba(0, 0, 0, 0.0470588) 0px 1px 1px inset; overflow-x: auto; background-color: rgb(245, 245, 245);">yum install MariaDB-Galera-server MariaDB-client galera</pre>
 
  
==참고 문헌==
+
*[[MySQL|MySQL]]
 +
*[https://www.jopenbusiness.com/cms/MariaDB/README.md 오비컨 - MariaDB]
 +
*[https://www.jopenbusiness.com/cms/MariaDB/MySQL.md 오비컨 - MySQL]
  
[[Category:Database]]
+
[[Category:Database|Category:Database]]

2019년 11월 5일 (화) 16:25 기준 최신판

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

참고 문헌