0

0

mysql主从备份、主从切换的例子_MySQL

php中文网

php中文网

发布时间:2016-06-01 13:26:45

|

931人浏览过

|

来源于php中文网

原创

bitsCN.com

实现两个Mysql数据库的同步,分为主从模式和相互备份模式。

实施环境:

两台Linux机器

SerA ip:10.0.0.232

SerB ip:10.0.0.234

Demo1:主从模式

Master:SerA    Slave:SerB

在SerA和SerB上分别建立用于同步的账号(也可以不新建账号,直接给其他账号分配访问权限)

[html] view plaincopy
  1. use mysql;  
  2.   
  3. delete from user;  
  4.   
  5. grant all privileges on *.* to '$username'@'%' identified by '$password' with grant option;  
  6.   
  7. flush privileges;   
上面是为了安全,删除了一些用户(一般都要把默认的没有密码的用户删除)

StepA:

SerA配置为Master,在SerA上在my.cnf中添加:

[html] view plaincopy
  1. replicate-do-db=$database  
  2.   
  3. server-id=1  
指定binlog(因为时通过binlog实现数据同步的)

配置完后重启数据库服务,用show master status可以看到Master信息。

StepB:

在SerB的my.cnf中指定

[html] view plaincopy
  1. replicate-do-db=$database  
  2.   
  3. server-id=2  
指定binlog

配置完后重启数据库服务,用show slave status可以看到Slave信息。

(在MySQL5.1以后,my.cnf中已经去除了master-host等参数,应该在启动服务之后通过change master to ...命令来实现配置,也可以在启动的时候添加这些参数。下面是change master to ...示例)

bin/mysql -u$username -p$password -e "stop slave;change master tomaster_host='$mysqlMasterHost',master_port=3306,master_user=$username,master_password=$password;start slave;" 

mysqlMasterHost是Master的IP,

master_port是Master的端口,

master_user和master_password是用于同步的账号和密码

还有master_log_file和master_log_pos参数指定同步数据的位置。

可以在mysql命令模式下执行change master,之后start slave

MCP Market
MCP Market

MCP Servers集合平台,帮你找到最好的MCP服务器

下载

注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info

所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。

这样就可以实现主从配置,此时在SerA指定数据库中加入数据,SerB中相应的数据库也会添加数据。

 模拟Mysql主从切换:

假设SerA现在无法提供服务,只需在SerB上执行show master status记录master_log_file和master_log_pos,停止ServB的slave。

在SerA上执行change master 到SerB,并且指定master_log_file和master_log_pos,这样就可以恢复在SerA宕机期间存到SerB上的数据。

 

看一些配置和查看命令的结果:

注意Slave_IO_Running和Slave_SQL_Running的状态都必须是YES

 

Demo2:双机互备

双机互备只是两台机器同时做Master和Slave,

即在SerA上使它的Master指向SerB,SerB的Maser指向SerA,

配置其实和Mysql主从模式是一样的。

bitsCN.com

相关专题

更多
Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

6

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

48

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

26

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

321

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

108

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

15

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

7

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

39

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.6万人学习

Django 教程
Django 教程

共28课时 | 3.4万人学习

Excel 教程
Excel 教程

共162课时 | 12.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号