mysql5.7 Percona XtraDB Cluster 多主集群配置

1.添加用户和组
groupadd -g 1001 mysql
useradd -u 1002 -g mysql mysql


2.关闭防火墙及selinux / etc / selinux / config
service iptables stop
chkconfig iptables off
setenforce 0


3.创建目录
mkdir -p / u01 / mysqldata / u01 / mysqlredo / u01 / mysqlundo / u01 / mysqllog
chown -R mysql:mysql / u01


4.修改
主机名cat >> / etc / hosts << EOF
192.168.194.139 mgc1
192.168.194.141 mgc2
192.168.194.137 mgc3
EOF


5。安装xtraDB
处理依赖包
yum install -y libev-4.03-3.el6.x86_64.rpm
yum install -y socat-1.7.2.3-1.el6.x86_64.rpm


安装YUM源 
yum install -y http:// www。 percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm


检查包是否可用 
yum list | grep Percona-XtraDB-Cluster-57 


安装Percona XtraDB集群包 
yum install -y Percona-XtraDB-Cluster-57 


6.查看mysql启动参数文件默认顺序
mysql --help | grep'my.cnf'7


。修改启动配置文件
[mysqld] #server_id
= 1
datadir = / u01 / mysqldata
pid-file = / u01 / mysqldata / mysql.pid
log-error = / u01 / mysqllog / mysql.log
socket = / var / lib / mysql / mysql.sock
user = mysql
port = 5919
slow_query_log = 1
slow_query_log_file = / u01 / mysqllog / slow.log
#[
galera ] wsrep_on = ON
wsrep_provider = / usr / lib64 / galera3 / libgalera_smm.so
wsrep_cluster_address =“gcomm:// mgc1,mgc2,mgc3”
wsrep_cluster_name =“Mysql5.7_Cluster”
binlog_format = row
#wsrep_sst_method = rsync的
wsrep_sst_method = xtrabackup-V2
wsrep_node_address = 192.168.194.141
default_storage_engine = InnoDB的
wsrep_slave_threads = 8
#这改变如何InnoDB的自动增量锁管理并且是用于加莱拉要求
innodb_autoinc_lock_mode = 2
pxc_strict_mode =强制
wsrep_sst_auth = “sstuser:sstuser”




8。在第一个节点启动
服务mysql bootstrap-pxc


9.在第一个节点登录并重置密码,mysql5.7在安装日志找初始密码
cat /u01/mysqllog/mysql.log | grep root @ localhost
mysql -uroot -p
SET PASSWORD = PASSWORD('root');
授予所有特权*。*''''''''''''''''''''''''''''''''''''''''''''''''''''''''
授权流程,重新启动,锁定表,复制客户端*。* TO'sstuser'@'localhost'由'sstuser'识别;


10.启动剩下的所有节点
服务mysql start


可能出现的问题
集群所有节点宕机,启动集群的命令如果不是在最后一个脱离环境节点执行,会报出如下错误
2017-11-28T06:28:52.573503Z 0 [错误] WSREP:从此节点引导群集可能不安全。它不是离开群集的最后一个,可能不包含所有更新。要使用此节点强制集群引导,请手动编辑grastate.dat文件并将safe_to_bootstrap设置为1.
解决方法:所有节点cat grastate.dat | grep safe_to_bootstrap找到safe_to_bootstrap为1的节点来启动集群或者grastate.dat文件里seqno,找到最大的那个
非特殊场景下,不要使用报错信息里修改safe_to_bootstrap为1来强制启动。但是各个节点的数据已经不在一致了。
到了上一步并还没有到无法挽救的地步,此时,只有一个方法,你要知道你哪一台的数据是最全的,然后停掉所有少数据的节点,再最后一个节点做一次任意DML操作(或者修改上面提到的的SeqNo(只是个人猜测))。接下来最后一个节点重启动集群,在启动所有少数据的节点,所有下面少数据的节点会自动重新同步数据




安装过程出现如下信息
的Percona XtraDB Cluster与Percona Toolkit中的几个有用的UDF一起分发。
运行以下命令来创建这些函数:
mysql -e“CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME'libfnv1a_udf.so'”
mysql -e“CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME'libfnv_udf.so'”
mysql -e“CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME'libmurmur_udf.so'“


参阅了https://www.percona.com/doc/percona-server/5.6/management/udf_percona_toolkit.html 
不是很了解什么是


udf mysql -uroot -p -e”创建功能murmur_hash返回INTEGER SONAME'

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值