博客
关于我
mysql主从同步配置方法和原理
阅读量:789 次
发布时间:2023-02-11

本文共 1367 字,大约阅读时间需要 4 分钟。

mysql主从复制试验环境配置及操作指南

在实际场景中,mysql主从复制是一种常用的高可用性解决方案。以下将详细介绍主从复制的配置及操作流程。

一、主库配置

  • 环境描述

    采用centos5.8 x86_64最小化安装,系统经过基础优化。

  • mysql版本

    使用5.1.73-log版本,支持多实例安装。

  • 源码存储与编译位置

    • 源码包存放位置:/home/oldboy/tools
    • 源码包编译安装位置:/application/

  • 二、从库配置

  • 修改从库my.cnf配置

    • 打开配置文件:vi /data/3307/my.cnf
    • 检查并设置以下参数:
      egrep "server-id|log-bin" /data/3307/my.cnf
    • 确保配置如下:
      log-bin = /data/3307/mysql-binserver-id = 2
  • 启动从库服务

    /data/3307/mysql start

  • 三、主库操作

  • 备份主库

    使用mysqldump进行备份:

    mysqldump -uroot -p -A -B -S /data/3306/mysql.sock | gzip > /server/bak/mysql_bak.$(date +%Y%m%d).sql.gz
    • -A:备份所有数据库
    • -B:备份时忽略外部binlog
  • 锁表操作

    在进行主库迁移前,需执行:

    flush tables with read lock;

    这将导致表锁读取状态,但业务会受到影响,需在停机时间最少的时段执行。

  • 查看主库状态

    确保主库状态正常:

    mysql -uroot -p -S /data/3306/mysql.sock -e 'show master status;'

    确认binlog文件及位置是否正确。


  • 四、从库同步

  • 导入数据库

    将主库备份文件导入从库:

    gunzip /server/bak/mysql_bak.20141029.sql.gzmysql -uroot -p -S /data/3307/mysql.sock < /server/bak/mysql_bak.20141029.sql
  • 设置从库 replication 参数

    修改从库配置文件:

    vi /data/3307/my.cnf

    确保参数设置为:

    master_host="192.168.1.200"master_user="rpe"master_port=3306master_password="mygirl99"master_log_file="mysql-bin.000008"master_log_pos=832
  • 启动同步服务

    start slave;

    检查同步状态:

    show slave status \G

    确保Slave_IO_RunningSlave_SQL_Running均为Yes


  • 五、不停机实现主从同步

    通过将binlog文件及位置记录下来,可以在不停机的情况下实现主从同步。具体操作如下:

  • 备份binlog文件

    确保binlog文件已备份,并记录文件名及位置。

  • 从库启动复制

    在从库上执行:

    change master to ...

    并确保从库已正确连接到主库。


  • 以上操作流程涵盖了mysql主从复制的配置及常用操作,适用于开发、测试及生产环境。

    转载地址:http://xtbfk.baihongyu.com/

    你可能感兴趣的文章
    mysql中like % %模糊查询
    查看>>
    MySql中mvcc学习记录
    查看>>
    mysql中null和空字符串的区别与问题!
    查看>>
    MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
    查看>>
    MYSQL中TINYINT的取值范围
    查看>>
    MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
    查看>>
    Mysql中varchar类型数字排序不对踩坑记录
    查看>>
    MySQL中一条SQL语句到底是如何执行的呢?
    查看>>
    MySQL中你必须知道的10件事,1.5万字!
    查看>>
    MySQL中使用IN()查询到底走不走索引?
    查看>>
    Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    查看>>
    MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
    查看>>
    mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
    查看>>
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>
    Mysql中各类锁的机制图文详细解析(全)
    查看>>
    MySQL中地理位置数据扩展geometry的使用心得
    查看>>
    Mysql中存储引擎简介、修改、查询、选择
    查看>>
    Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
    查看>>
    mysql中实现rownum,对结果进行排序
    查看>>