第一步:准备三台机器node
Node Server IP Hostnamemysql
Node1 - 192.168.100.111 percona111sql
Node2 - 192.168.100.112 percona112数据库
Node3 - 192.168.100.113 percona113bootstrap
第二步:禁用防火墙(正式环境单独开启端口)ide
$ systemctl disable firewalldthis
第三步:安装Percona XtraDB须要的依赖包spa
$ yum -y install epel-release日志
$ yum -y install socatorm
$ yum -y remove mariadb-libs (若已安装了mysql,则需执行此移除命令)
第四步:安装Percona XtraDB
$ yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
$ sudo yum -y install Percona-XtraDB-Cluster-57
第五步:启动并配置Percona XtraDB(和MySQL同样的操做)
$ sudo grep ’temporary password’ /var/log/mysqld.log (默认密码会生成在日志文件里面)
$ mysql -uroot -p
mysql>ALTER USER ’root’@’localhost’ IDENTIFIED BY ’rootPass’;
mysql> exit;
第六步:把上面五个步骤在其余两台机器上操做一遍
第7步:配置集群文件,其实就是在my.cnf添加点配置参数
第一台机器:111
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_name=pxc-cluster
wsrep_cluster_address=gcomm:// # 这个地方不写其余IP
wsrep_node_name=pxc1
wsrep_node_address=192.168.100.111
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=szjczy:password # 这里的用户名和密码对应下面第八步的受权设置的用户名和密码
pxc_strict_mode=ENFORCING
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
第二台机器:112(三个属性不一样,其他相同)
wsrep_cluster_address=gcomm://192.168.100.111,192.168.100.112,192.168.100.113
wsrep_node_name=pxc2
wsrep_node_address=192.168.100.112
第三台机器:113(三个属性不一样,其他相同)
wsrep_cluster_address=gcomm://192.168.100.111,192.168.100.112,192.168.100.113
wsrep_node_name=pxc3
wsrep_node_address=192.168.100.113
第八步:三台机器111,112,113登陆MySQL执行下面受权命令
$ mysql -uroot -p
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'szjczy'@'localhost';
mysql> FLUSH PRIVILEGES;
第九步:启动(要注意:111的启动方式和其余节点是不一样的)
第1台机器:111执行: $ systemctl start mysql@bootstrap.service
第2,3台机器执行: $ systemctl start mysql
第十步:检查是否成功
第1台机器:111登陆MySQL
$ mysql -uroot -p
mysql> show status like ’wsrep%’;
wsrep_cluster_size | 3 # 若显示参数=3,证实三个节点集群成功了
mysql>create database percona; # 建立一个数据库,到其余两台机器看有同步就成功了
安装配置过程当中遇到的问题:
$ vi /var/lib/mysql/grastate.dat
2.Dump导入报错,my.conf中的pxc_strict_mode = DISABLED
$ vi /etc/my.conf
3.启动不了数据库(failed to open gcomm backend connection: 131: invalid UUID: 00000000 (FATAL))
cd /var/lib/mysql
mv grastate.dat grastate.dat.bak
mv gvwstate.dat gvwstate.dat.bak
4.出错: this is incompatible with sql_mode=only_full_group_by
>mysql -uroot -p
> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));