第一步:准备三台机器
Node Server IP Hostname
Node1 - 192.168.100.111 percona111
Node2 - 192.168.100.112 percona112
Node3 - 192.168.100.113 percona113
第二步:禁用防火墙(正式环境单独开启端口)
$ systemctl disable firewalld
第三步:安装Percona XtraDB需要的依赖包
$ yum -y install epel-release
$ yum -y install socat
$ 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; # 创建一个数据库,到其他两台机器看有同步就成功了
安装配置过程中遇到的问题:
- XtraDB culster启动不了(修改grastate.dat的safe_to_bootstrap: 1)
$ 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',''));
来源:oschina
链接:https://my.oschina.net/u/1434405/blog/830792