必须先卸载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 |
来源:https://www.cnblogs.com/1257433831qq/p/9728043.html