系统运维

MySQL主从复制读写分离与高可用配置

字号+作者:益华科技来源:IT科技2025-11-04 06:24:01我要评论(0)

一、说明前面我们说了mysql的安装配置(并提供一键安装 脚本),mysql语句使用以及备份恢复mysql数据;本次要介绍的是mysql的主从复制,读写分离;及高可用MHA。环境

一、主制读说明

前面我们说了mysql的从复安装配置(并提供一键安装

脚本),mysql语句使用以及备份恢复mysql数据;本次要介绍的写分是mysql的主从复制,读写分离;及高可用MHA。b2b信息网离高

环境如下:

master:CentOS7_x64 mysql5.721 172.16.3.175 db1

slave1:CentOS7_x64 mysql5.7.21 172.16.3.235 db2

slave2:CentOS7_x64 mysql5.7.21 172.16.3.235 db3

proxysql/MHA:CentOS7_x64 mysql5.7.21 172.16.3.235 proxysql

架构图:

说明:

配置测试时为了方便关闭了防火墙头,可用selinux安全策略;

现实中请开放防火墙策略;myslqdb的配置安装已经有脚本一键安装并配置好;这里就不在重复配置;只对对应的角色贴出对应的配置或安装与之相关的软件;

二、主从复制配置

一台主数据库,站群服务器主制读N从节点;从节点开启两个线程,从复通过Slave_IO_Running线程和主节点上有权限的写分账号从 主数据库节点复制binlog日志到本地,能过Slave_SQL_Running线程在本地执行binlog日志,离高达到主从节点内容同步;

master配置:egrep -v (^$|^#) /usr/local/mysql/etc/my.cnf

复制[mysqld]  datadir=/data1/mysqldb  socket=/tmp/mysql.sock  key_buffer_size         = 16M  max_allowed_packet      = 16M  thread_stack            = 192K  thread_cache_size       = 8  query_cache_limit       = 1M  query_cache_size        = 64M  query_cache_type        = 1  symbolic-links=0  innodb_file_per_table=ON skip_name_resolve=ON server-id       = 1  log_bin         = /data1/mysqldb/mysql-bin.log  [mysqld_safe]  log-error=/usr/local/mysql/logs/error.log  pid-file=/data1/mysqldb/mysql.pid  !includedir  /usr/local/mysql/etc/my.cnf.d  1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.

创建从节点同步账号:

复制mysql > grant replication client,replication slave on *.* torepluser@172.16.3.% identified byreplpass;  mysql > flush privileges;  mysql >show master logs;  +------------------+-----------+ | Log_name         | File_size |  +------------------+-----------+ | mysql-bin.000001 |       622 |  1.2.3.4.5.6.7.

主节点上的binlog日志文件及位置;请记下;从节点第一次同步时需要用;

slave节点:egrep -v (^$|^#) /usr/local/mysql/etc/my.cnf

复制[mysqld]  datadir=/data1/mysqldb  socket=/data1/mysqldb/mysql.sock  key_buffer_size         = 16M  max_allowed_packet      = 16M  thread_stack            = 192K  thread_cache_size       = 8  query_cache_limit       = 1M  query_cache_size        = 64M  query_cache_type        = 1  symbolic-links=0  innodb_file_per_table=ON skip_name_resolve=ON server-id               = 11         #从节点标识ID  各从节点均不一样   relay_log = relay-log  read_only=ON [mysqld_safe]  log-error=/usr/local/mysql/log/error.log  pid-file=/var/run/mysql/mysql.pid  !includedir /usr/local/mysql/etc/my.cnf.d  1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.

启动mysq数据库

注意:两台从节点的server-id 值不一样;其他的都一样;因此从节点只展示一个配置文件;

登录数据库并同步数据启动slave两台slave均要同步并启动 复制mysql > CHANGE MASTER TO MASTER_HOST="172.16.3.175",MASTER_USER="repluser",MASTER_PASSWORD="replpass",MASTER_PORT=3306,MASTER_LOG_FILE="mysql-bin.000001",MASTER_LOG_POS=622;  mysql > start slave;     #启动从节点()  #查看从节点状态  mysql > SHOW SLAVE STATUS; 高防服务器

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 适马30mmf1.4镜头的魅力与表现(探索适马30mmf1.4镜头的优点和应用领域)

    适马30mmf1.4镜头的魅力与表现(探索适马30mmf1.4镜头的优点和应用领域)

    2025-11-04 06:14

  • windows7系统下关于IPv6的命令行快速关闭问题探讨

    windows7系统下关于IPv6的命令行快速关闭问题探讨

    2025-11-04 05:27

  • windows 7旗舰版系统任务栏图标太大或太小如何根据需求进行大小

    windows 7旗舰版系统任务栏图标太大或太小如何根据需求进行大小

    2025-11-04 04:53

  • windows 7进不了系统 是自修复还是重做系统

    windows 7进不了系统 是自修复还是重做系统

    2025-11-04 04:22

网友点评