news 2026/10/2 7:53:34

mysql主从复制配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mysql主从复制配置

文章目录

  • 一、复制两个mysql
  • 二、配置两个my.ini
    • 1.主库my.ini
    • 2.从库my.ini
    • 3.分别启动两个数据库
  • 三、配置用户(在主库上操作)
    • 1.新增用户
    • 2.给用户授权可以复制
    • 3.查看log的位置
  • 四、配置从库(新方式GTID,推荐)
    • (1)主库、从库都要开启GTID
    • (2)从库change master to
  • 四、配置从库(老方式,不推荐)
    • 1.执行配置命令
    • 2.看状态
    • 3.启动slave
    • 4.再看状态
  • 五、主从复制延时问题解决
  • 六、常见问题
    • 1.Slave_IO_Running: No解决办法:
    • 2.Slave_SQL_Running: No
      • 跳过错误的语句
      • 重新同步数据,重新设置master_log_pos

一、复制两个mysql

二、配置两个my.ini

1.主库my.ini

[mysqld] [mysqld] server-id=1 log-bin=mysql-bin binlog-format=STATEMENT expire_logs_days=7 gtid_mode=ON enforce_gtid_consistency=ON innodb_file_per_table=1 default-time-zone='+8:00' sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

2.从库my.ini

[mysqld] port=3307 server-id=2 #relay-log=relay-bin gtid_mode=ON enforce_gtid_consistency=ON #不复制用户、权限等,从库有自己的用户权限。其他都全部复制 replicate_ignore_db=mysql innodb_file_per_table=1 default-time-zone='+8:00' sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

注意,从库配置了3307端口,因为我在一台机器上测试。端口不能重复。

3.分别启动两个数据库

可以开黑框启动,也可以作为服务启动。我这里用的是mysqld --console启动黑框。

注意观察端口,主库是3306,从库是3307

三、配置用户(在主库上操作)

我用navcate操作。

1.新增用户

也可以用命令行创建用户
CREATE USER ‘username’@‘ip’ IDENTIFIED BY ‘password’;

2.给用户授权可以复制

也可以用命令行授权
#授权用户复制的权限(从服务器ip)
GRANT REPLICATION SLAVE ON.TO ‘username’@‘ip’;

3.查看log的位置

执行如下两个命令,并且记住其中的内容

FLUSH PRIVILEGES; show master status;

四、配置从库(新方式GTID,推荐)

可以采用开启GTID-自动点位复制,不用自己写binlog文件名+pos点位

(1)主库、从库都要开启GTID

在主库、从库的ini文件中添加以下两行

[mysqld] gtid_mode=ON enforce_gtid_consistency=ON

重启主库、从库

(2)从库change master to

STOP SLAVE;-- 彻底清除master.info、relay‑log.info,清空中继日志(replay-bin.*)文件-- 内存清除主库连接配置,**必须重新执行 CHANGE MASTER TO**RESET SLAVEALL;CHANGE MASTERTOMASTER_HOST='主库ip',MASTER_USER='repl',MASTER_PASSWORD='Repl@123456',MASTER_PORT=3306,MASTER_AUTO_POSITION=1;STARTSLAVE;SHOWSLAVESTATUS\G

其中Reset salve all的作用,清除之前的日志相关的文件。

四、配置从库(老方式,不推荐)

切换到从库,

1.执行配置命令

#master_host 主数据库地址 CHANGE MASTER TO master_host ='localhost', #设置主数据库的端口号 master_port=3306, #上一步中主数据库创建的从库用户 master_user ='jason', #上一步中主数据库创建的从库密码 master_password ='123456', #上一步中保存的file master_log_file ='master-bin.000002', #上一步中保存的position master_log_pos = 938;

2.看状态

show slave status

3.启动slave

start slave

4.再看状态

显示成功yes,yes

五、主从复制延时问题解决

通过监控 show slave status 命令输出的Seconds_Behind_Master参数的值来判断:数值越大,延时越严重。

修改从库的配置文件
vi /etc/my.cnf

[mysqld] #关闭从库日志写入 log_slave_updates=off innodb_flush_log_at_trx_commit=0 global sync_binlog=500;

六、常见问题

1.Slave_IO_Running: No解决办法:

因为我是两个mysql拷贝的
因为我是两个mysql拷贝的
因为我是两个mysql拷贝的,

里面的一个uuid一样。所以要删除auto.cnf。并且重启mysql。


2.Slave_SQL_Running: No

产生的原因是主从库不一致,造成某些语句不能执行。一般有两种方法:

跳过错误的语句

stop slave; set global sql_slave_skip_counter=5; #跳过几条就写几 ,这个例子是跳过5条语句 start slave;

重新同步数据,重新设置master_log_pos

#数据库同步完成后执行 change master to master_log_file=xxxx,master_log_pos=xxxxx
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 7:52:49

6.2 EMC不是摆设:共模电流路径与RJ45防护电路实战解析

做硬件这么多年,我越来越觉得“6.2 EMC”不是一个目录里随手的章节号,而是一个项目的生死线。凡是能把这一节从纸面变成可验证、可追溯、可闭环的团队,产品认证通常一次过;凡是把它当成“反正最后送测再说”的,基本都在…

作者头像 李华
网站建设 2026/10/2 7:52:46

同花顺API+Python+Excel:金融数据自动化报表完整实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/2 7:51:33

振镜控制器RTC5/RTC6配置失效的5步排查法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/2 7:51:24

ESP32关闭WiFi/LWIP释放37KB IRAM的原理与实操

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/2 7:50:44

Windows 7 USB3.0驱动注入实战:解决安装卡死与键鼠失灵

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华