博客
关于我
mysql主主复制——windows
阅读量:670 次
发布时间:2019-03-17

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

两台主机主主配置指导

在配置两个主机的 MySQL 主主复制时,可以按照以下步骤进行设置:

1. 配置主主复制服务器

在两个 MySQL 服务器中分别修改 my.ini 文件,添加以下配置:

[mysqld]server-id=1  # 每台服务器唯一 ID,需确保不同log-bin=mysql-bin  # 启用二进制日志文件binlog_format=mixed  # 启用混合日志模式expire-logs-days=14  # 二进制日志过期时间(单位:天)sync-binlog=1  # 每提交一次事务将二进制日志刷盘binlog-do-db=test,androidpnserver  # 需要复制的数据库列表binlog-ignore-db=mysql,information_schema,performance_schema  # 需要忽略的数据库auto-increment-increment=10  # 主键自增范围(根据需求调整)auto-increment-offset=1  # 自增开始号(从 1 开始)

注意:server-id 需要在两台服务器上设置不同的 ID,auto-increment-offset 决定主键自增的起始值,auto-increment-increment 决定自增的最大值。

2. 服务器重启

在两台服务器上执行以下命令:

net stop mysqlnet start mysql

3. 重新同步 slave

在两台服务器上执行以下命令重置复制:

STOP SLAVE;RESET SLAVE;FLUSH PRIVILEGES;

4. 创建同步账号

在两台服务器上为对方创建 replication 账号。根据需要设置账号权限(默认为 root,此处示例):

GRANT REPLICATION SLAVE ON *.* TO 'username'@'hostip' IDENTIFIED BY 'password';

5. 查看主服务器状态

在两台服务器上查看目前的主服务器状态:

SHOW MASTER STATUS\G;

重点关注 FilePosition 字段,这些参数用于后续配置。

6. 更换复制位置

在目标服务器上,根据主服务器的状态更换复制位置。例如:

CHANGE MASTER TO    MASTER_HOST='主服务器IP',    MASTER_PORT=3306,    MASTER_USER='账户',    MASTER_PASSWORD='密码',    MASTER_LOG_FILE='主服务器的binlog文件',    MASTER_LOG_POS=主服务器的position值;

确保 MASTER_LOG_FILEMASTER_LOG_POS 是从主服务器获取的最新状态。

7. 启动复制

在目标服务器上启动复制:

START SLAVE;

8. 检查复制状态

在两台服务器上检查复制状态:

SHOW SLAVE STATUS\G;

确认 Slave_IO_RunningSlave_SQL_Running 都为 Yes,表示复制已成功启动。

9. 忽略特定错误

my.ini 中添加忽略错误的配置:

[mysqld]slave-skip-errors=1062,1053,1146  # 忽略特定错误代码# 或者slave-skip-errors=all  # 忽略所有错误

常见错误包括:

  • 1007: 数据库不存在
  • 1032: 拉取冲突
  • 1062: 主键冲突
  • 1146: 表不存在

常见问题解决方案

  • 服务器 UUID 冲突

    查看 UUID 状态:

    SHOW VARIABLES LIKE 'server_uuid';

    如果 UUID 冲突,删除 auto.cnf 文件或重启 MySQL。

  • 跳过事务错误

    使用以下命令跳过特定事务错误:

    SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;

    然后重新启动复制:

    STOP SLAVE;START SLave;
  • 这个步骤注重实际操作细节,重点突出关键配置项和常见问题处理方法,旨在帮助您顺利实现主主复制功能。

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

    你可能感兴趣的文章
    source insight V4 下载方法
    查看>>
    springboot security 基于redis的session共享(7)
    查看>>
    vue 权限管理 菜单按钮权限控制(7)
    查看>>
    vue 权限管理 主题切换(8)
    查看>>
    springboot 文件上传下载(简洁明了)
    查看>>
    spring
    查看>>
    inno setup 一些技巧
    查看>>
    Qt SQLite database is locked Unable to fetch row
    查看>>
    Qt 在Excel文件中Chart绘图
    查看>>
    TCP 详解
    查看>>
    解决Linux下编译.sh文件报错 “[: XXXX: unexpected operator”
    查看>>
    U3D时间
    查看>>
    U3D资源加载
    查看>>
    音频优化(简短版本)
    查看>>
    01-webpack5理解及配置
    查看>>
    JavaScript作用域和作用域链
    查看>>
    STM32F103 实例应用(6)——通信概念
    查看>>
    洛谷 P1020 导弹拦截 (LIS)
    查看>>
    idea 出现错误 Invalid bound statement (not found)
    查看>>
    idea webstorm破解 激活
    查看>>