CentOS/Linux安装Percona XtraDB Cluster数据库

╄→гoц情女王★ 提交于 2020-03-01 23:09:29

必须先卸载mariadb-libs

   yum -y remove mari*

 

PXC依赖的端口

   PXC集群要使用四个端口,所以防火墙要放行这些端口

  

  

firewall-cmd --zone=public --add-port=3306/tcp --permanent

permanent:表示永久生效

 

firewall-cmd --reload #重启

 

关闭SELINUX:会干扰PXC运行,【vi /etc/selinux/config】

   把配置文件中的SELINUX值修改为disabled,重启linux系统【reboot】

 

 

 

直接解压初始化方式

下载,选择Linux-Generic

 

 

 

 

解压安装包

tar -zxvf Percona-XtraDB-Cluster-5.7.23-rel23-31.31.1.Linux.x86_64.ssl101.tar.gz -C ~/app/

 

重命名应用

cd ~/app/

mv Percona-XtraDB-Cluster-5.7.23-rel23-31.31.1.Linux.x86_64.ssl101/ pxc

 

创建data目录

mkdir data

 

修改【support-files/mysql.server】下的【basedir、datadir、lockdir、mysqld_pid_file_path】

basedir=/home/mysql/app/pxc

datadir=/home/mysql/app/pxc/data

lockdir=/home/mysql/app/pxc/sock

mysqld_pid_file_path=/home/mysql/app/pxc/data/mysqld.pid

 

修改【support-files/wsrep_notify】下的【PORT=3307】,如果端口不变不需要改

 

创建【my.cnf】并编辑,【touch my.cnf】

[client]

socket=/home/mysql/app/pxc/mysql.sock

 

[mysqld]

port=3307

server-id=2002 #实例唯一id

datadir=/home/mysql/app/pxc/data

socket=/home/mysql/app/pxc/sock/mysql.sock

log-error=/home/mysql/app/pxc/log/mysqld.log

pid-file=/home/mysql/app/pxc/data/mysqld.pid

log-bin

log_slave_updates

expire_logs_days=7

 

symbolic-links=0

 

character_set_server=utf8

#0.0.0.0表示监听机器上的全部ip

bind-address=0.0.0.0

#跳过DNS解析

skip-name-resolve

 

初始化

./bin/mysqld --defaults-file=/home/mysql/app/pxc/my.cnf --basedir=/home/mysql/app/pxc --datadir=/home/mysql/app/pxc/data --initialize --user=mysql

 

初始化后密码到【log-error=/home/mysql/app/pxc/data/mysqld.log】下看,也就是my.cnf下配置的

 

启动mysql

./bin/mysqld --defaults-file=/home/mysql/app/pxc/my.cnf --basedir=/home/mysql/app/pxc/ --port=3307

 

登陆MySQL,修改密码与增加pxc同步用户

登陆时,在一台机器上有多个MySQL服务时,指定sock可登陆指定的MySQL服务

./bin/mysql -uroot -p --socket=/home/mysql/app/pxc/mysql.sock

 

设置密码

mysql> set password = password('mysqladmin');

 

创建pxc同步用户

create user 'admin'@'%' identified by '123456';

grant all privileges on *.* to 'admin'@'%';

flush privileges;

 

再次修改配置文件【my.cnf】

wsrep_provider=/home/mysql/app/pxc/lib/libgalera_smm.so

wsrep_cluster_name=pxc-cluster #集群名称

#所有集群ip

wsrep_cluster_address=gcomm://172.16.40.200,172.16.40.201,172.16.40.202

wsrep_node_name=pxc2

wsrep_node_address=172.16.40.202

wsrep_sst_method=xtrabackup-v2 #同步方法(mysqldump、rsync、xtrabackup)

wsrep_sst_auth=admin:123456 #同步使用的账号密码

pxc_strict_mode=ENFORCING #同步严厉模式

binlog_format=ROW #基于ROW复制

default_storage_engine=InnoDB #默认引擎

innodb_autoinc_lock_mode=2 #主机自增长不锁表

 

修改【support-files/mysql.server】

basedir=/home/mycat/app/pxc

datadir=/home/mycat/app/pxc/data

lockdir='/home/mycat/app/pxc'

mysqld_pid_file_path=/home/mycat/app/pxc/data/mysqld.pid

 

停止服务器

./support-files/mysql.server stop

 

使用root用户执行,加入service

cp /home/mysql/app/pxc/support-files/mysql.server /etc/init.d/pxcd

 

下载适合自己系统的安装包

 

 

 

解压后将【xtrabackup/bin】下的所有文件拷贝到mysql的bin目录下

 

下载socat-1.7.3.2.tar.gz包,解压后进入目录,使用root用户,顺序执行【./configure】、【make、make install】,然后将socat拷到mysql的bin目录下

cp /usr/local/bin/socat /home/mysql/app/pxc/bin/

 

第一个pxc节点的启动命令

service pxcd bootstrap-pxc

 

其他pxc节点启动的命令

service pxcd start

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!