Percona-XtraDB

Percona-XtraDBPXC(Percona-XtraDB-Cluster)5.7版本集群部署 Centos 7.3系统部署Mysql 集群 PXC三个节点分别执行和安装(1)配置hosts cat /etc/h

Percona-XtraDB

 PXC(Percona-XtraDB-Cluster)5.7版本集群部署

Centos 7.3系统部署Mysql 集群

PXC三个节点分别执行和安装
(1)配置hosts

cat /etc/hosts
172.16.2.10 node1
172.16.2.11 node2
172.16.2.12 node3

(2)依赖

yum –y remove mariadb-* 
yum -y install gcc gcc-c++ perl-IO-Socket-SSL.noarch perl-DBD-MySQL.x86_64 perl-Time-HiRes openssl* openssl-devel  libcurl-devel wget

代码100分

(3)下载Percona XtraBackup 2.4

代码100分wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.10/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm
yum -y localinstall percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm

(4)安装Percona Release和Socat

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
tar zxvf socat-1.7.3.2.tar.gz
cd socat-1.7.3.2
./configure
make -j 4 && make install

(5)安装PXC 5.7二进制包

代码100分wget https://www.percona.com/downloads/Percona-XtraDB-Cluster-LATEST/Percona-XtraDB-Cluster-5.7.21-29.26/binary/tarball/Percona-XtraDB-Cluster-5.7.21-rel20-29.26.1.Linux.x86_64.ssl1:102.tar.gz

tar -xf Percona-XtraDB-Cluster-5.7.21-rel20-29.26.1.Linux.x86_64.ssl1_102.tar.gz -C /usr/local/
mv /usr/local/Percona-XtraDB-Cluster-5.7.21-rel20-29.26.1.Linux.x86_64.ssl1:102 /usr/local/mysql
useradd -s /sbin/nologin mysql
chown mysql.mysql -R /usr/local/mysql
mkdir -p /data/mysql/data
chown mysql.mysql -R /data/mysql/
echo “export PATH=/usr/local/mysql/bin:$PATH” > /etc/profile.d/mysql.sh​
source /etc/profile.d/mysql.sh​

先配置第一台机器,并成功启动,在配置其他两台
在第一台主机上创建配置文件:

vim /etc/my.cnf
[client]
port = 3306
socket= /data/mysql/mysql.sock
default-character-set=utf8

[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql/data
pid-file = /data/mysql/mysql.pid
character-set-server=utf8
init_connect = "SET NAMES utf8"
log-bin=/data/mysql/log_bin
server-id = 101
innodb_buffer_pool_size = 100M
innodb_data_file_path = ibdata1:10M:autoextend
innodb_data_home_dir = /data/mysql
innodb_file_per_table=1
skip-name-resolve
port = 3306
socket = /data/mysql/mysql.sock
user=mysql
log_error=mysql_error.log

#pxc
binlog_format=ROW
wsrep_cluster_address=gcomm://172.16.2.10,172.16.2.11,172.16.2.12 #三个节点都保持一样
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
wsrep_node_address=172.16.2.10 #根据不同的node ip进行修改
wsrep_slave_threads=2
wsrep_cluster_name=pxc_mysql #同一个cluster此值需要一致
wsrep_sst_method=xtrabackup-v2
wsrep_node_name=node_1 #不同节点修改为不同的名字
innodb_autoinc_lock_mode=2
wsrep_sst_auth="sstuser:pxcmysql"
log-slave-updates

[mysql]
no-auto-rehash
default-character-set=utf8

把这个文件写好了,传到其他两台机器的 /etc 下面,
每个主机的server-id 和wsrep_node_address、wsrep_node_name保持不同即可

初始化mysql5.7:(初始化只在第一个节点执行)

mysqld --initialize --user=mysql --datadir=/data/mysql/data

初始化参数使用–initialize-insecure,这样不会设置初始化root密码,如果是 –initialize的话,会随机生成一个密码
grep “password” /data/mysql/data/error.log

启动pxc mysql5.7
​node1上:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --wsrep-new-cluster --user=mysql &

新建传送用户:​

grant all privileges on *.* to "sstuser"@"localhost" identified by "pxcmysql";(一定要localhost)
flush privileges;

查看集群状态

show status like "wsrep%";

其他节点安装,具体步骤查看前面步骤
scp percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm 172.16.2.11:/root
scp percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm 172.16.2.12:/root
scp Percona-XtraDB-Cluster-5.7.21-rel20-29.26.1.Linux.x86_64.ssl1_102.tar.gz 172.16.2.11:/root
scp Percona-XtraDB-Cluster-5.7.21-rel20-29.26.1.Linux.x86_64.ssl1_102.tar.gz 172.16.2.12:/root
scp /etc/my.cnf 172.16.2.11:/etc/
scp /etc/my.cnf 172.16.2.12:/etc/

node2和node3启动(无需初始化)

/usr/local/mysql/bin/mysqld_safe  –-defaults-file=/etc/my.cnf &

 

在PXC部署集群多次踩坑:

(1)按照官网文档/etc/init.d/mysql bootstrap-pxc  启动一直失败

解决:一开始怀疑是PXC版本问题,换了二个5.7小版本还是一样报错,最后使用/usr/local/mysql/bin/mysqld_safe 模式启动成功

(2)启动jnode3节点报错:[ERROR] WSREP: Command did not run: wsrep_sst_xtrabackup-v2 –role “donor” –address “172.16.2.12:4444/xtrabackup_sst

解决:修改node3配置文件,用wsrep_sst_method = rsync启动,正常启动后同步数据完成,shutdown node2;然后修改node2的wsrep_sst_method = xtrabackup-v2,可以正常启动数据同步

 以上解决方法希望对你有所帮助,解决方法来之不易,作者多次实验。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10344.html

(0)
上一篇 2022-12-29
下一篇 2022-12-29

相关推荐

  • Linux装Windows系统,萌新必备攻略

    Linux装Windows系统,萌新必备攻略     现如今电脑越来越普及,几乎人手一台电脑,但依然有很多人不知道怎么为荣耀MagicBook电脑重装系统。电脑出现问题,还要去电脑店花钱找人帮忙重装系统。其实电脑重装系统非常简单,借助U盘就能…

    2022-12-20
    111
  • Python def函数:如何定义函数

    Python def函数:如何定义函数函数是一段可重复使用的代码块,用于实现特定任务。在Python中,函数是一等公民,这意味着它们可以像任何其他对象一样传递、分配和操作。Python使用def关键字定义函数,这使得函数定义变得简单且易于阅读。

    2024-03-08
    32
  • mysql 8 系统保留关键字

    mysql 8 系统保留关键字mysql 8 中的系统保留关键字 在mysql中建表时,一定要注意避免使用系统的保留关键字,不然可能数据表创建成功了,但是在使用环节(增删改查)等,造成极大的不变,重则甚至返工修改字段。 所以,在…

    2023-02-26
    102
  • CSS align-items属性

    CSS align-items属性CSS中的align-items属性是一个非常重要的属性,它决定了一个容器(父元素)内所有的子元素在交叉轴上的对齐方式。了解align-items的使用方法和属性值可以帮助我们更好地布局页面并提高用户体验。

    2024-05-16
    6
  • 雅虎日本如何用 Pulsar 构建日均千亿的消息平台

    雅虎日本如何用 Pulsar 构建日均千亿的消息平台雅虎日本是一家雅虎和软银合资的日本互联网公司,是日本最受欢迎的门户网站之一。雅虎日本的互联网服务在日本市场占主导地位。 下图从三个维度显示了雅虎日本的经营规模。第一个是服务数量,雅虎日本提供上百种互联

    2022-12-19
    101
  • 使用Python中的re模块进行文本匹配和替换

    使用Python中的re模块进行文本匹配和替换Python中的re模块是一个正则表达式工具包,用于处理字符串的匹配、替换、分割等操作。re模块提供了很多函数,可以方便地处理字符串,同时也提供了很多特殊字符和语法,用于模式匹配。

    2024-01-09
    63
  • BaikalDB在同程艺龙的应用实践(二)[通俗易懂]

    BaikalDB在同程艺龙的应用实践(二)[通俗易懂]本系列文章主要介绍 BaikalDB在同程艺龙的落地实践 作者简介:王勇,同程艺龙架构师,BaikalDB Column Store Contributor,专注于分布式数据库方向的研发工作 欢迎S…

    2023-03-20
    106
  • python之包(Python 常用包)

    python之包(Python 常用包)   Python之所以受欢迎不光是因为它简单易学,更重要的是它有成千上万的宝藏库。这些库相当于是已经集成好的工具,只要安装就能在Python里使用。它们可以处理各式各样的问题,无需你再造轮子,而且随着社区的不断更新维护,有些库越来越强大,几乎能媲美企业级应用。那么这些工具库怎么下载安装呢?它们被放在一个统一的“仓库”里,名叫PyPi(Python Package Index),所有的库安装都是从这里调度。有了仓库之后,还需要有管理员,pip就是这样一个角色。

    2023-10-29
    69

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注