728x90
반응형

테스트를 위해서 하나의 서버에 서로 다른 MariaDB 설치 하는 방법

엔진 설치 경로를 다르게 해야 하므로 Source 버전의 MariaDB Download 받아서 사용한다.

 

0. 기본 설정

 

CentOS7 Minimal 설치

MariaDB 5.5.58 Download ( https://downloads.mariadb.org/mariadb/5.5.58/ )   



MariaDB 10.2.10 Download ( https://downloads.mariadb.org/mariadb/10.2.10/ )                   


 

1. 설치에 필요한 패키지 설치 유저, 그룹 추가

 

# yum install cmake ncurses ncurses-devel bison gcc gcc-c++ gcc gcc-c++ libtermcap-devel gdbm-devel zlib* libxml* freetype* libpng* libjpeg* -y

# yum install iconv flex gmp ncurses-devel cmake.x86_64 curl-devel expat-devel gettext-devel openssl-devel zlib-devel -y

# yum install gnutls* -y

# groupadd mysql

# useradd -r -g mysql mysql

 

2. 데이터 베이스 압축해제/컴파일 설치

 

압축파일은 /root 안에 존재 하며, 소스 컴파일에 사용되는 디렉터리들도 모두 /root안에 존재 한다.

 

[root@CMaria ~]# pwd

/root

[root@CMaria ~]# ls

anaconda-ks.cfg  build10  build5  mariadb-10.2.10  mariadb-10.2.10.tar.gz  mariadb-5.5.58  mariadb-5.5.58.tar.gz

 

Maria10.2

Maria5.5

tar xvfz mariadb-10.2.10.tar.gz

tar xvfz mariadb-5.5.58.tar.gz

: /usr/local/mariadb10

데이터파일 : /maria10.2.10

: /usr/local/mariadb5

데이터파일 : /maria5.5.58

소스 컴파일

 

mkdir build10

 

cd build10

 

cmake ../mariadb-10.2.10 -DWITH_READLINE=1 -DWITH_READLINE=1 -DWITH_SSL=bundled -DWITH_ZLIB=system -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DWITH_ARIA_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATEDX_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb10 -DMYSQL_DATADIR=/maria10.2.10

 

소스 컴파일

 

mkdir build5

 

cd build5

 

cmake ../mariadb-5.5.58 -DWITH_READLINE=1 -DWITH_READLINE=1 -DWITH_SSL=bundled -DWITH_ZLIB=system -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DWITH_ARIA_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATEDX_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb5 -DMYSQL_DATADIR=/maria5.5.58

make ; make install

make ; make install

설정파일

 

cp /usr/local/mariadb10/support-files/my-innodb-heavy-4G.cnf

/usr/local/mariadb10/my.cnf

 

vi /usr/local/mariadb10/my.cnf

   port = 3310

   socket = /tmp/mysql10.sock

설정파일

 

cp /usr/local/mariadb5/support-files/my-innodb-heavy-4G.cnf

/usr/local/mariadb5/my.cnf

 

vi /usr/local/mariadb5/my.cnf

   port = 3305

   socket = /tmp/mysql5.sock

디비 생성

 

/usr/local/mariadb10/scripts/mysql_install_db --user=mysql --defaults-file=/usr/local/mariadb10/my.cnf --basedir=/usr/local/mariadb10 --datadir=/maria10.2.10

디비 생성

 

/usr/local/mariadb5/scripts/mysql_install_db --user=mysql --defaults-file=/usr/local/mariadb5/my.cnf --basedir=/usr/local/mariadb5 --datadir=/maria5.5.58

디비 기동

 

/usr/local/mariadb10/bin/mysqld_safe --basedir=/usr/local/mariadb10 --datadir=/maria10.2.10 --plugin-dir=/usr/local/mariadb10/lib/plugin --user=mysql --log-error=/maria10.2.10/CMaria.err --pid-file=/maria10.2.10/CMaria.pid --socket=/tmp/mysql10.sock --port=3310 &

디비 기동

 

/usr/local/mariadb5/bin/mysqld_safe --basedir=/usr/local/mariadb5 --datadir=/maria5.5.58 --plugin-dir=/usr/local/mariadb5/lib/plugin --user=mysql --log-error=/maria5.5.58/CMaria.err --open-files-limit=8192 --pid-file=/maria5.5.58/CMaria.pid --socket=/tmp/mysql5.sock --port=3305 &

루트 패스워드 변경

 

/usr/local/mariadb10/bin/mysqladmin -uroot password 'root1122' --socket=/tmp/mysql10.sock

 

/usr/local/mariadb10/bin/mysqladmin -uroot -h CMaria password 'root1122' --socket=/tmp/mysql10.sock

 

/usr/local/mariadb10/bin/mysql -uroot -p --socket=/tmp/mysql10.sock

 

루투 패스워드 변경

 

/usr/local/mariadb5/bin/mysqladmin -uroot password 'root1122' --socket=/tmp/mysql5.sock

 

/usr/local/mariadb5/bin/mysqladmin -uroot -h CMaria password 'root1122' --socket=/tmp/mysql5.sock

 

/usr/local/mariadb5/bin/mysql -uroot -p --socket=/tmp/mysql5.sock

디비 종료

 

/usr/local/mariadb10/bin/mysqladmin -uroot -p --socket=/tmp/mysql10.sock shutdown

디비 종료

 

/usr/local/mariadb5/bin/mysqladmin -uroot -p --socket=/tmp/mysql5.sock shutdown

  

3. 시작/종료/접속 Alias 생성

 

[root@CMaria ~]# cat .bashrc

 

alias start10='/usr/local/mariadb10/bin/mysqld_safe --basedir=/usr/local/mariadb10 --datadir=/maria10.2.10 --plugin-dir=/usr/local/mariadb10/lib/plugin --user=mysql --log-error=/maria10.2.10/CMaria.err --pid-file=/maria10.2.10/CMaria.pid --socket=/tmp/mysql10.sock --port=3310 & '

alias stop10='/usr/local/mariadb10/bin/mysqladmin -uroot -p --socket=/tmp/mysql10.sock shutdown'

alias mysql10='/usr/local/mariadb10/bin/mysql --socket=/tmp/mysql10.sock'

 

alias start5='/usr/local/mariadb5/bin/mysqld_safe --basedir=/usr/local/mariadb5 --datadir=/maria5.5.58 --plugin-dir=/usr/local/mariadb5/lib/plugin --user=mysql --log-error=/maria5.5.58/CMaria.err --open-files-limit=8192 --pid-file=/maria5.5.58/CMaria.pid --socket=/tmp/mysql5.sock --port=3305 & '

alias stop5='/usr/local/mariadb5/bin/mysqladmin -uroot -p --socket=/tmp/mysql5.sock shutdown'

alias mysql5='/usr/local/mariadb5/bin/mysql --socket=/tmp/mysql5.sock'

 

4. 시작과 종료를 서비스로 등록하면 에러는 발생 하지만 정상적으로 Start 되는데 그냥 스크립트를 이용. 그래도 서비스로 등록해서 사용하고 싶으면 ... 

 

cp /usr/local/mariadb10/support-files/mysql.server  /etc/init.d/mysqld10

 

vi /etc/init.d/mysqld10

   lock_file_path="$lockdir/mysql10"

   # Try to find basedir in /etc/my.cnf

   #conf=/etc/my.cnf

   conf=/usr/local/maria10/my.cnf

 

서비스 등록

chkconfig --add mysqld10

cp /usr/local/mariadb5/support-files/mysql.server  /etc/init.d/mysqld5

 

vi /etc/init.d/mysqld5

   lock_file_path="$lockdir/mysql5"

   # Try to find basedir in /etc/my.cnf

   #conf=/etc/my.cnf

   conf=/usr/local/maria5/my.cnf

 

서비스 등록

chkconfig --add mysqld5

service mysqld10 start

service mysqld5 start

 

 

반응형

+ Recent posts