CentOS6.2にyumのMySQL5.5とソースのMySQL5.5を1台でレプリカした際のメモ

1台のサーバーで、2つのMySQLを入れるために、
yumでもともと入っているMySQL5.5に追加で、ソースのMySQL5.5を入れたメモ。
目的はサーバー1台でMaster-Slaveのレプリケーションの検証をするため。
(あくまで簡易めもなので、適宜自分の環境にあわせてください。^^汗)

構築環境
CentOS6.2 CentOS release 6.2 (Final)
マスター用:MySQL5.5(yumでインストール)Server version: 5.5.23-log MySQL Community Server (GPL) by Remi
スレーブ用:MySQL5.5(ソースからインストール)Server version: 5.5.30-log Source distribution

 

1.マスター用のMySQLをyumインストール
※デフォルトのyumでは5.5はなかったはずなので、remiから

RPMのepel,remiのインストール

現状のyumで利用できるmysqlのバージョンを確認(おそらく5.1xxxになっているはず)
# yum info mysql
# rpm -ivh ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/6/x86_64/epel-release-6-5.noarch.rpm
(CentOS 6.x, x86_64の場合)
DL元サイト:http://rpm.pbone.net/index.php3/stat/4/idpl/15279403/dir/redhat_el_6/com/epel-release-6-5.noarch.rpm.html

バージョン確認
# yum --enablerepo=epel,remi list mysql-server 

yumからインストール
# yum --enablerepo=epel,remi install mysql mysql-server mysql-devel mysql-libs

# service mysqld start
# mysql

2.スレーブ用のMySQLのソースインストール

存在しなければmysqlユーザーを登録
# groupadd mysql
# useradd -m mysql -g mysql -d /usr/local/mysql/data
# passwd mysql

コンパイラ系を準備
# yum install gcc gcc-c++ bison
# yum install ncurses-devel
# yum install cmake

自分は/usr/local/src/にとりあえずソースのmysqlをダウンロード
※ソースインストールの際のconfigreが5.5から使えなくなったので、cmakeを利用する。そのためcmakeファイルが入っているものをダウンロード!
# wget 'http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.30.tar.gz/from/http://cdn.mysql.com/'

# cd mysql-5.5.30xx/
cmakeのオプションはお好みで
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1

# make
# make install

# chown -R mysql:mysql /usr/local/mysql/

# cp /usr/local/mysql/support-files/my-large.cnf /usr/local/mysql/my.cnf

※適宜編集
# vi /usr/local/mysql/my.cnf

# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld_slave

# chmod 755 /etc/init.d/mysqld_slave

※適宜編集
# vim /etc/init.d/mysqld_slave
basedir=/usr/local/mysql
datadir=/usr/local/mysql/var
mysqld_pid_file_path=/var/run/mysqld/mysqld_slave.pid

インストールしたmysqlを起動
# /etc/init.d/mysqld_slave status
# /etc/init.d/mysqld_slave start

ログイン
# /usr/local/mysql/bin/mysql

自動起動になっているか確認
# chkconfig --add mysqld_slave
# chkconfig mysqld_slave on
# chkconfig --list | grep mysql