PXC(Percona XtraDB Cluster)-5.6介绍:
http://www.jianshu.com/writer#/notebooks/17585534/notes/18273685
PXC(Percona XtraDB Cluster)-5.6运维注意事项:
http://www.jianshu.com/writer#/notebooks/17585534/notes/18273697
PXC(Percona XtraDB Cluster)-5.6二进制安装(ubuntu14.04):
http://www.jianshu.com/writer#/notebooks/17585534/notes/18263799
一、硬件环境:
- 操作系统:Ubuntu 14.04.5
- PXC版本:Percona-XtraDB-Cluster-5.6.37-rel82.2-26.21.1.Linux.x86_64.ssl100.tar.gz
- xtrabackup版本:percona-xtrabackup-2.4.3-Linux-x86_64.tar.gz
二、集群主机信息
- PXC-01:172.16.10.26
- PXC-02:172.16.10.27
- PXC-03:172.16.10.29
三、安装步骤
1、安装socat(传输数据使用)
root@PXC-01:/soft# apt-get install socat
2、安装xtrabackup(备份数据使用)
root@PXC-01:/soft# tar -zxvf percona-xtrabackup-2.4.3-Linux-x86_64.tar.gz
root@PXC-01:/soft# mv percona-xtrabackup-2.4.3-Linux-x86_64 /srv/xtrabackup24
root@PXC-01:/soft# vim /etc/profile
......
PATH=$PATH:/srv/xtrabackup24/bin
......
root@PXC-01:/soft# source /etc/profile
3、安装PXC(集群核心程序)
3.1配置PXC软件包相关目录、用户
注意:三个节点配置PXC软件包相关目录、用户的方式完全相同,以PXC-01为例
root@PXC-01:/soft# useradd -M -s /sbin/nologin mysql
root@PXC-01:/soft# mkdir -p /data/mysql3306/{data,binlog,logs,tmp,config}
root@PXC-01:/soft# chown -R mysql.mysql /data/mysql3306
root@PXC-01:/soft# tar -zxvf Percona-XtraDB-Cluster-5.6.37-rel82.2-26.21.1.Linux.x86_64.ssl100.tar.gz
root@PXC-01:/soft# mv Percona-XtraDB-Cluster-5.6.37-rel82.2-26.21.1.Linux.x86_64.ssl100 /srv/pxc56
3.2编辑配置文件(只包含PXC相关配置内容,mysql的配置项参考网上其他文章)
注意:3个节点配置文件略有不同(server_id 、wsrep_node_name 、 wsrep_node_address)
节点1配置文件
root@PXC-01:/srv# vim /data/mysql3306/config/my.cnf
......
[mysqld]
......
server_id = 263306
wsrep_provider = /srv/pxc56/lib/libgalera_smm.so
wsrep_cluster_address = "gcomm://172.16.10.26,172.16.10.27,172.16.10.29"
wsrep_cluster_name = yf-pxc01
wsrep_sst_auth = com:123456
wsrep_node_name = node26
wsrep_node_address = 172.16.10.26
wsrep_sst_method = xtrabackup-v2 # 也可以选rsync 、mysqldump
wsrep_slave_threads = 2
innodb_locks_unsafe_for_binlog = 1
innodb_autoinc_lock_mode = 2
wsrep_provider_options = "debug=1;gcache.size=1G"
......
root@PXC-01:/srv# chmod 644 /data/mysql3306/my.cnf
节点2配置文件
root@PXC-02:/srv# vim /data/mysql3306/config/my.cnf
......
[mysqld]
......
server_id = 273306
wsrep_provider = /srv/pxc56/lib/libgalera_smm.so
wsrep_cluster_address = "gcomm://172.16.10.26,172.16.10.27,172.16.10.29"
wsrep_cluster_name = yf-pxc01
wsrep_sst_auth = com:123456
wsrep_node_name = node27
wsrep_node_address = 172.16.10.27
wsrep_sst_method = xtrabackup-v2 # 也可以选rsync 、mysqldump
wsrep_slave_threads = 2
innodb_locks_unsafe_for_binlog = 1
innodb_autoinc_lock_mode = 2
wsrep_provider_options = "debug=1;gcache.size=1G"
......
root@PXC-02:/srv# chmod 644 /data/mysql3306/my.cnf
节点3配置文件
root@PXC-03:/srv# vim /data/mysql3306/config/my.cnf
......
[mysqld]
......
server_id = 293306
wsrep_provider = /srv/pxc56/lib/libgalera_smm.so
wsrep_cluster_address = "gcomm://172.16.10.26,172.16.10.27,172.16.10.29"
wsrep_cluster_name = yf-pxc01
wsrep_sst_auth = com:123456
wsrep_node_name = node29
wsrep_node_address = 172.16.10.29
wsrep_sst_method = xtrabackup-v2 # 也可以选rsync 、mysqldump
wsrep_slave_threads = 2
innodb_locks_unsafe_for_binlog = 1
innodb_autoinc_lock_mode = 2
wsrep_provider_options = "debug=1;gcache.size=1G"
......
root@PXC-03:/srv# chmod 644 /data/mysql3306/my.cnf
3.3初始化3个节点导入系统表
root@PXC-01:/soft# cd /srv/pxc56/
root@PXC-01:/srv/pxc56# ./scripts/mysql_install_db --defaults-file=/data/mysql3306/config/my.cnf
root@PXC-02:/soft# cd /srv/pxc56/
root@PXC-02:/srv/pxc56# ./scripts/mysql_install_db --defaults-file=/data/mysql3306/config/my.cnf
root@PXC-03:/soft# cd /srv/pxc56/
root@PXC-03:/srv/pxc56# ./scripts/mysql_install_db --defaults-file=/data/mysql3306/config/my.cnf
3.4启动3个节点
注意:启动第一个节点时需要自举为主节点(--wsrep-new-cluster),第二个和第三个节点启动与启动mysql相同
- 启动第一个节点并初始化用户
root@PXC-01:/soft# cd /srv/pxc56/
root@PXC-01:/srv/pxc56# ./bin/mysqld_safe --defaults-file=/data/mysql3306/config/my.cnf --wsrep-new-cluster &
修改root密码、创建备份用户并授权
root@PXC-01:/srv/pxc56# mysql -uroot
mysql> set password for 'root'@'localhost'=password('fffjjj');
mysql> create user 'yf_sst'@'localhost' identified by 'fffjjj';
mysql> grant reload,lock tables,replication client,process on *.* to 'yf_sst'@'localhost';
- 启动第二个节点,用户会自动同步到该节点
root@PXC-02:/soft# cd /srv/pxc56/
root@PXC-02:/srv/pxc56# ./bin/mysqld_safe --defaults-file=/data/mysql3306/config/my.cnf &
- 启动第三个节点,用户会自动同步到该节点
root@PXC-03:/soft# cd /srv/pxc56/
root@PXC-03:/srv/pxc56# ./bin/mysqld_safe --defaults-file=/data/mysql3306/config/my.cnf &
四、验证集群是否成功
- 保证所有节点数据库都以启动
- 查看集群数量(3个表示正确)
mysql> show global status like "%cluster_size%";
- 任意一个节点执行创建数据库操作,看其他节点是否同步
PXC-01:
mysql> create database aaa; #注意查看其他节点是否同步
PXC-02:
mysql> create database bbb; #注意查看其他节点是否同步
PXC-03:
mysql> create database ccc; #注意查看其他节点是否同步