percona xtradb cluster安裝步驟
上一篇部落格中對比了各種mysql叢集方案,本部落格將講解其中在同步複製功能方面比較出色的percona xtradb cluster的安裝步驟
首先,如果伺服器中已有預設的mysql(很多linux安裝時自帶了mysql)需要先刪除,否則會報衝突
rpm -qa | grep -i mysql-server | xargs sudo rpm -e --nodeps
安裝依賴的包
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm
rpm -ivh nc-1.84-22.el6.x86_64.rpm
wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/socat-1.7.2.4-1.el6.rf.x86_64.rpm
rpm -ivh socat-1.7.2.4-1.el6.rf.x86_64.rpm
安裝Percona-XtraDB-Cluster-56
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum install Percona-XtraDB-Cluster-56
安裝後啟動
/etc/init.d/mysql start
然後建立用於同步複製的使用者,這裡使用的使用者名稱和密碼都是sstuser
CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'sstuser';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
FLUSH PRIVILEGES;
如果create user 時報lost connection,需要升級,啟動mysql後執行:
mysql_upgrade -uroot -p --skip-version-check
建立完使用者後,停止Mysql,修改/etc/my.cnf,我的 my.cnf 為
有兩個地方需注意:[client] socket=/var/lib/mysql/mysql.sock [mysqld] server_id=1 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql binlog_format=ROW #bind-address=0.0.0.0 default-storage-engine=innodb innodb_autoinc_lock_mode=2 wsrep_provider=/usr/lib64/libgalera_smm.so wsrep_provider_options="gcache.size=300M; gcache.page_size=1G" wsrep_cluster_name="mycluster" wsrep_cluster_address="gcomm://200.200.168.24,200.200.168.25" wsrep_sst_method=rsync wsrep_node_address=200.200.168.24 # 本機IP地址 #wsrep_sst_method=xtrabackup-v2 wsrep_sst_auth="sstuser:sstuser" wsrep_node_name=pxc1 wsrep_slave_threads=4 [mysql_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
1、wsrep_node_address=200.200.168.24 安裝每個mysql服務時,需要修改為自身的ip
2、wsrep_sst_method:在剛安裝時,需要將slave節點設定為rsync,才能同步成功
每臺叢集中的mysql服務都按以上的步驟安裝即可
安裝完成後,即可啟動Mysql。
啟動mysql的方式,如果是主伺服器,使用/etc/init.d/mysql bootstrap-pxc,如果是備份伺服器,使用/etc/init.d/mysql start。
先啟動主伺服器,啟動備份伺服器時,即可看到備份伺服器會自動同步資料。
另外,若啟動失敗,首先,看mysql日誌,上面的my.cnf中指定了var/log/mysqld.log(若沒有指定,預設是在目錄/var/lib/mysql/中),看看有沒有permission deny的問題,如果有,執行
yum -y install policycoreutils-python
semanage permissive -a mysqld_t
參考文件:
http://www.percona.com/doc/percona-xtradb-cluster/5.6/
http://hj192837.blog.51cto.com/655995/1546149
http://blog.chinaunix.net/uid-20776139-id-4041319.html
http://blog.csdn.net/china_world/article/details/25424903
http://blog.csdn.net/renfengjun/article/details/41379901