系统环境
VMware虚拟机 、 centos6.5 64位
说明
搭建三节点pxc集群,VMware中可以先安装一个centos,然后克隆两个,者三个虚拟主机ip位:
node1 192.168.1.101
node2 192.168.1.102
node3 192.168.1.103
准备
- 打开指定端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4444 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4567 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4568 -j ACCEPT
2.关闭selinux
vi /etc/selinux/config
3.重启
reboot
安装
1.安装yum源
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
2.安装依赖包
2.1下载
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/l/libev-4.03-3.el6.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/s/socat-1.7.2.3-1.el6.x86_64.rpm
2.2安装
yum localinstall libev-4.03-3.el6.x86_64.rpm
yum localinstall socat-1.7.2.3-1.el6.x86_64.rpm
3.安装PXC
yum install Percona-XtraDB-Cluster-57
至此完成安装
配置
1.配置文件目录
/etc/my.cnf 配置文件
/etc/percona-xtradb-cluster.conf.d/ 目录下 有三个子配置文件
2.把所有配置整合到my.cnf中
- 清空原有my.cnf中所有内容
- 复制/etc/percona-xtradb-cluster.conf.d/mysqld.cnf 所有内容到my.cnf
- 在my.cnf [mysqld] 下增加数据库配置
character_set_server = utf8
bind-address = 0.0.0.0
skip-name-resolve
3.修改和创建MySQL账户
3.1 service mysql start 启动mysql
3.2 查看root初始密码
cat /var/log/mysqld.log | grep "A temporary password"
3.3 修改root密码
需要用到3.2中原始密码,根据提示输入新密码(新密码要求:必须有大小写字母+数字+特殊符号,否则报错),任何提示直接输入y继续。
3.4 创建pxc用户(配置pxc会用到)
mysql -u root -p 登录mysql
CREATE USER 'pxc'@'%' IDENTIFIED BY 'Abc_123456';
GRANT all privileges ON *.* TO 'pxc'@'%';
FLUSH PRIVILEGES;
4.配置PXC
4.1 关闭mysql服务
service mysql stop
4.2 添加配置项到/etc/my.cnf
添加到my.cnf [mysqld] 节点下
server-id=1 #PXC集群中MySQL实例的唯一ID,不能重复,必须是数字
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_name=pxc-cluster #PXC集群的名称
#集群中所有节点ip
wsrep_cluster_address=gcomm://192.168.1.101,192.168.1.102,192.168.99.103
wsrep_node_name=pxc1 #当前节点的名称(自定义)
wsrep_node_address=192.168.99.151 #当前节点的IP
wsrep_sst_method=xtrabackup-v2 #同步方法(mysqldump、rsync、xtrabackup)
wsrep_sst_auth= pxc:Abc_123456 #同步使用的帐户(3.4中创建的pxc用户和密码)
pxc_strict_mode=ENFORCING #同步严厉模式
binlog_format=ROW #基于ROW复制(安全可靠)
default_storage_engine=InnoDB #默认引擎
innodb_autoinc_lock_mode=2 #主键自增长不锁表
node1 配置成功了。
5.克隆配置虚拟机
5.1 克隆
将node1虚拟机关闭(上面配置那台),在VMware中克隆(完整克隆)两个:node2、node3
5.2 配置虚拟机
5.2.1 网卡配置
# 记下eth1的 mac地址 ATTR{address}=="00:00::0c:71:9d",
vi /etc/udev/rules.d/70-persistent-net.rules
# 修改ifcfg-eth0
# 改变 DEVICE = eth1
# 改变 HWADDR = 上一步记下的地址
# 改变 IPADDR = 192.168.1.102 (根据自己的情况)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 重启网络
service network restart
5.2.2 PXC相关配置
vi /etc/my.cnf
server-id = 2 # 因为这里是第二台虚拟机,所以设置为2,总之这三台虚拟机不能相同
wsrep_node_name=pxc2 # 当前节点的名称
wsrep_node_address=192.168.1.102 #d当前节点的ip地址
5.3 按照上述克隆配置,再克隆并配置一台虚拟机
6.启动
在node1 中 执行 service mysql bootstrap-pxc 启动
在node2、node2中 执行 service mysql start
7.结束
可从Navicat中,分别创建DB1、DB2、DB3 分别连接三台虚拟机数据库,在任何一个节点中创建test,查看另外两个节点是否同步