MySQL集群搭建必备命令指南

资源类型:10-0.net 2025-06-06 16:23

mysql搭建集群命令简介:



MySQL集群搭建:详细步骤与命令指南 在当今的大数据处理和高并发访问需求下,单节点MySQL数据库已经难以满足性能和高可用性的要求

    因此,搭建MySQL集群成为解决这一问题的有效方案

    本文将详细介绍如何通过命令搭建MySQL集群,涵盖主从复制(Replication)和Percona XtraDB Cluster(PXC)两种常用方案,并提供详细的步骤和命令

     一、MySQL主从复制集群搭建 主从复制是MySQL最常用的高可用和负载均衡解决方案之一

    其原理是主库(Master)将数据变更操作记录到二进制日志(Binary Log)中,从库(Slave)读取这些日志并应用到自己的数据库中,从而实现数据同步

     1. 环境准备 - 操作系统:Linux(如CentOS) - MySQL版本:5.7及以上 - 网络:确保主从库之间网络互通 2. 主库配置 (1)修改`my.cnf`配置文件 vim /etc/my.cnf 在`【mysqld】`部分添加或修改以下配置: 【mysqld】 log-bin=mysql-bin 开启二进制日志 server-id=1 指定服务器ID,必须唯一 sync-binlog=1 每次事务提交都同步到磁盘 binlog-ignore-db=performance_schema 忽略同步的数据库 binlog-ignore-db=information_schema binlog-ignore-db=sys binlog-do-db=test 指定同步的数据库,不设置则同步所有库 (2)重启MySQL服务 systemctl restart mysqld (3)创建复制用户并授权 mysql -uroot -p GRANT REPLICATION SLAVE ON- . TO replica_user@% IDENTIFIED BY replica_password; FLUSH PRIVILEGES; SHOW MASTER STATUS; 记下`File`和`Position`的值,将在从库配置中使用

     3. 从库配置 (1)修改`my.cnf`配置文件 vim /etc/my.cnf 在`【mysqld】`部分添加或修改以下配置: 【mysqld】 server-id=2 指定服务器ID,必须唯一且与主库不同 relay-log=mysql-relay-bin 中继日志名称 read_only=1 设置从库为只读 (2)重启MySQL服务 systemctl restart mysqld (3)配置从库复制主库 mysql -uroot -p CHANGE MASTER TO MASTER_HOST=主库IP, MASTER_PORT=3306, MASTER_USER=replica_user, MASTER_PASSWORD=replica_password, MASTER_LOG_FILE=主库二进制日志文件名, 使用SHOW MASTER STATUS得到的File值 MASTER_LOG_POS=主库二进制日志位置; 使用SHOW MASTER STATUS得到的Position值 START SLAVE; SHOW SLAVE STATUS G; 检查`Slave_IO_Running`和`Slave_SQL_Running`是否都为`Yes`,确保复制正常

     4. 优化与故障排查 - 半同步复制:解决主库宕机数据丢失问题

    在主库和从库上安装并启用半同步复制插件

     - 并行复制:解决从库复制延迟问题

    在从库上设置并行复制参数,如`slave_parallel_workers`

     二、Percona XtraDB Cluster(PXC)搭建 PXC是基于MySQL的分布式数据库集群解决方案,提供了数据强一致性和高可用性

    其原理是每个节点都将数据变更同步到其他节点,确保所有节点数据一致

     1. 环境准备 - 操作系统:Linux(如CentOS) - PXC版本:与MySQL兼容的版本 - 网络:确保所有节点之间网络互通 2. 安装PXC (1)下载并安装PXC软件包 wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm rpm -ivh percona-release-latest.noarch.rpm yum install -y percona-xtradb-cluster (2)修改`my.cnf`配置文件 在所有节点上修改`my.cnf`,添加或修改以下配置: 【mysqld】 wsrep_provider=/usr/lib64/galera4/libgalera_smm.so wsrep_cluster_address=gcomm://节点1IP,节点2IP,节点3IP wsrep_cluster_name=pxc-cluster wsrep_node_address=当前节点IP wsrep_node_name=节点名称 pxc_strict_mode=ENFORCING binlog_format=ROW default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 (3)启动PXC服务 在所有节点上启动PXC服务: systemctl start mysqld@bootstrap 在第一个节点上使用@bootstrap启动,以初始化集群 后续节点使用systemctl start mysqld启动 (4)检查集群状态 登录MySQL,执行以下命令检查集群状态: SHOW STATUS LIKE wsrep_%; 确保`wsrep_cluster_size`显示集群中节点的数量,且所有节点的`wsrep_ready`状态为`ON`

     3. 优化与故障排查 - 网络配置:确保所有节点之间的网络连接稳定且延迟低

     - 防火墙设置:开放PXC所需的端口,如4567(SST)、4444(IST)、4568(仲裁)等

     - 数据一致性检查:定期使用pt-table-checksum和`pt-table-sync`工具检查并修复数据不一致问题

     三、总结 MySQL集群搭建是实现高可用性和负载均衡的重要手段

    本文详细介绍了主从复制和PXC两种常用方案的搭建步骤和命令

    在实际应用中,需要根据业务需求和环境选择合适的方案,并进行必要的优化和故障排查

    通过合理的配置和监控,可以确保MySQL集群的稳定运行和高效性能

    

阅读全文
上一篇:MySQL大字段存储优化指南

最新收录:

  • Java自动化脚本:高效备份MySQL数据库指南
  • MySQL大字段存储优化指南
  • MySQL查询表是否分区的方法
  • MySQL精通之路:不可错过的经典书籍推荐
  • MySQL数据迁移至Elasticsearch实战
  • .NET环境下MySQL读写分离实战
  • MySQL分页查询优化技巧
  • Python连接MySQL数据库:知乎网友推荐的实用技巧
  • Sybase数据高效同步至MySQL指南
  • MySQL自动增量:含义与用途解析
  • MySQL拒绝访问权限解决方案
  • 如何将MySQL数据库高效上传至阿里云服务器指南
  • 首页 | mysql搭建集群命令:MySQL集群搭建必备命令指南