zxcvb12 发表于 2018-10-5 06:53:34

搭建PXC集群------mysql高可用集群

  部署环境: CentOS7.X
  1、关闭selinux   vi /etc/selinux/config
  SELINUX=disabled #修改该项为disabled
  立即生效setenforce 0
  2、查看防火墙是否开启   systemctl status firewalld
  如果防火墙是开启状态,则开放端口 3306 、4444、4567、4568
  firewall-cmd --add-port=3306/tcp --permanent   #开放了3306端口
  开放完4个端口后,重新加载防火墙规则
  firewall-cmd --reload
  3、安装Persona仓库
  yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
  4、安装PXC(保证服务器没有装MySQL)
  yum install Percona-XtraDB-Cluster-57
  5、开启PXC服务
  systemctl start mysqld
  6、查看安装数据库的临时密码并记住
  grep 'temporary password' /var/log/mysqld.log
  7、登录MySQL数据库
  mysql -u root -p
  输入临时密码
  登录成功后修改密码

  ALTER USER 'root'@'localhost'>  7、停止MySQL服务
  systemctl stop mysqld
  8、配置节点
  vi/etc/percona-xtradb-cluster.conf.d/wsrep.cnf
  修改配置文件
  # Cluster connection URL contains IPs of nodes
  #If no IP is found, this implies that a new cluster needs to be created,
  #in order to do that you need to bootstrap this node
  #集群中节点的IP地址(本机填最后)
  wsrep_cluster_address=gcomm://ip地址,IP地址,IP地址(用,号隔开)
  # In order for Galera to work correctly binlog format should be ROW
  binlog_format=ROW
  # MyISAM storage engine has only experimental support
  default_storage_engine=InnoDB
  # Slave thread to use
  wsrep_slave_threads= 8
  wsrep_log_conflicts
  # This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
  innodb_autoinc_lock_mode=2
  # Node IP address
  #当前节点IP
  wsrep_node_address=IP地址
  # Cluster name
  #集群名称
  wsrep_cluster_name=pxc-cluster
  #If wsrep_node_name is not specified,then system hostname will be used
  #当前节点名称
  wsrep_node_name=pxc-cluster-node-1
  #pxc_strict_mode allowed values: DISABLED,PERMISSIVE,ENFORCING,MASTER
  #不使用实验功能
  pxc_strict_mode=ENFORCING
  # SST method
  #状态快照传输(sst)方法,官方建议
  wsrep_sst_method=xtrabackup-v2
  #Authentication for SST method
  #用户凭证(mysql的用户名和密码)
  wsrep_sst_auth="用户名:密码"
  剩下的节点修改当前节点名、当前节点IP、集群中的节点IP,其他相同
  1---8步骤每个节点都要配置一次
  9、初始化集群节点
  其中一个节点使用 systemctl start mysql@bootstrap.service 启动
  登录mysql
  mysql -u root -p
  开启 wsrep_causal_reads
  set wsrep_causal_reads =1;
  10、创建配置文件中对应的用户   所有节点的IP都要创建

  创建用户:    CREATE USER '用户名'@'localhost'>  刷新权限:   GRANT all privileges ON *.* TO '用户名'@'localhost' ;
  FLUSH PRIVILEGES;

  创建用户:    CREATE USER '用户名'@'当前需要访问数据库的IP地址'>  刷新权限:   GRANT all privileges ON *.* TO '用户名'@'当前节点IP地址' ;
  FLUSH PRIVILEGES;
  11、其他节点使用   service mysql start启动 ,登录mysql,配置wsrep_causal_reds,set wsrep_causal_reads =1;
  12、其他节点启动成功后在引导节点(使用 systemctl start mysql@bootstrap.service 命令启动的节点)
  验证集群:show status like 'wsrep%';
  13、节点数据同步验证
  在当前节点创建一个数据库
  CREATE DATABASE percona;
  启动其他节点的数据库服务,进去后会发现新建的数据库,同理 其他节点创建的数据当前节点也能看到
  注意开启关闭命令应对应使用
  systemctl stop mysql@bootstrap.service启用是用 systemctl start mysql@bootstrap.servi
  systemctl stop mysqld                         systemctl start start mysqld

页: [1]
查看完整版本: 搭建PXC集群------mysql高可用集群