`
淡然若水
  • 浏览: 6425 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

MySQL自动备份同步 主从策略即时备份

阅读更多
1、  MySQL先得确认能被远程访问。
2、  设有A、B两台MySQL服务器,A为主服务器,B为从服务器(用来备份的服务器);
3、  先在主服务器上新建一个给从服务器使用的账户:
sql命令为:grant all privileges on *.* to ‘backup’@’%’ identified by ‘root’ with grant option;其中all privileges的意思是给予全部权限,*.*是全部数据库以及所属的表,backup是用户名,’%’是所有的IP地址,也可设为固定的IP,’root’是backup用户的密码。
4、  修改主数据库的my.ini配置内容,在Linux系统是my.cnf文件,不过配置内容基本一致,都是在[mysqld]下面增加内容:
(1)    server-id=1#主数据库的进程,只要不和其他数据库进程代号冲突即可,一般是用服务器的最后ip来记录;
(2)    log-bin=/var/mysqllog/log-bin.log#开启主数据库的二进制日志(改日志只记录数据库的修改,不记录查询),从数据库就是通过访问该日志来同步主数据库的,必须开启
(3)    binlog_format=mixed#加上这个,主数据库修改数据就不会有警告了,默认不是这个的设置的。
其它可选的设置:
(1)    binlog-ignore-db#指定要被同步的数据库,如果不设置,则为所有的数据库,官方建议在slave端使用,多个数据库,分割;
(2)    binlog-do-db#不想被同步的数据库,要想过滤一些不想同步的数据库,官方建议在slave端使用,多个数据库用,分割;
(3)    master-connect-retry=60#中断重新连接时间间隔为60秒。
5、  修改从数据库的my.ini(或my.cnf),在[mysqld]下面增加:
(1)    server-id=2#从服务器B的ID值。注意不能和主服务器的ID值相同;
(2)    master-host=192.168.1.247#主服务器的IP地址;
(3)    master-user=backup#从服务器连接主服务器的账号;
(4)    master-password=root#从服务器连接主服务器的账号密码;
(5)    master-port=3306#主服务器端口
其它可选:
(1)    replicate-do-db#需要同步的数据库,多个数据库用,分割;
(2)    binlog-ignore-db#不需要同步的数据库,多个数据库用,分割;
(3)    log-bin=/var/mysqllog/log-bin.log#二进制变更日志,适用与双向同步,单向同步可以不设置
(4)    master-connect-retry=60#同步时间间隔为60秒
如果从数据库data文件夹下存在master.info、relay-log.info就先停止从数据库的MySQL(net stop mysql或者Linux下为service mysql stop),然后删除两个文件,以后如果修改主服务器和从服务器的my.ini(或my.cnf)配置,都要停止从服务器,然后删除这两个文件,因为从数据库的不会重复生成这两个文件。
6、  这一步比较关键,要将主服务器需要同步的数据库都要拷贝到从服务器上来,网上有很多种方式,包括直接复制data文件夹里面的数据库文件。但是本人操作失败…所以使用的是直接从主服务器导出文件,然后停止主服务器,在从服务器上通过备份的文件建立起数据库,然后也停止,之后同时启动主从服务器上的MySQL来达到第一次基本一致的人工手动同步备份;
7、  检测是否同步与排错
可以用以下命令查看:
(1)    在slave从服务器B上输入:show slave status;主要查看Slave_IO_Running:Yes(#注:如果这个为No,可以重新修改配置文件中与slave相关的配置信息,然后必须停止MySQL删除master.info之类的文件,在上文提到过,重启MySQL即可解决。如果不能解决则可能是彼此之间的通讯问题或其它,我的话就是通讯问题,所以要确保MySQL是能被远程访问的。)Slave_SQL_Running:Yes(#注:如果这里为No,很有可能是因为你的A库和B库的数据库不一致造成的,本人遇到过,就是第6步没有达到基本的同步造成。停止主从服务器MySQL服务后删除A库中所有log-bin.log文件和B库所有的relay_log文件,并重启AB服务器即可解决,不过要同时开启)。Seconds_Behind_Master是否为0,0就是已经同步。
(2)    在Master主服务器A上输入show processlist;
mysql>show processlist\G; 出现Command: Binglog Dump表示已经同步成功。
备注(特此说明为网上的办法,本人没有试过):
MySQL主从复制经常出现的Slave_IO_Running:No或Slave_SQL_Running:No问题解决办法:在主数据库上查看POS位置:
mysql>show master status;
将查询到的信息给在从数据库上mysql>slave stop;
mysql>change master to Master_Log_File=’mysql-bin.000001’, Master_Log_Pos=98;
mysql>slave start;
mysql>show slave status;
问题解决。

(PS:本文为网上资料参考,再自己试过,可能情况不同会有所不一样。)
分享到:
评论

相关推荐

    MySQL双机热备份实施方案.pdf

    MySQL双机热备份是一种高可用性和灾难恢复策略,它通过实时同步主数据库的数据到备用数据库来确保业务连续性。在MySQL中,这种热备份通常基于内部的复制功能,允许数据在多个服务器间实时流动,即使在主服务器故障时...

    centos下mysql主从同步快速设置步骤分享

    MySQL的主从同步是数据库高可用性和数据冗余的重要手段,尤其在大型系统中,能够保证数据的一致性,防止单点故障,并实现负载均衡。本文将详细介绍在CentOS 5.4环境下,使用MySQL 5.1版本进行主从同步的快速设置步骤...

    MySQL主从延迟现象及原理分析详解

    主从复制是MySQL高可用架构中不可或缺的组成部分,它通过将主数据库的数据变化复制到一个或多个从数据库中,进而实现了数据的读写分离、备份、数据分布以及高可用等功能。然而,在实际应用过程中,我们经常会遇到...

    mysql数据库方面笔试面试题(带答案)

    3. **备份策略**: - 定时执行备份脚本。 - 监控备份状态,确保备份的有效性。 - 测试恢复过程。 ### SQL注入 1. **定义**: - SQL注入是一种安全漏洞,攻击者通过构造恶意SQL语句来获取未授权的信息或控制...

    利用MYsql做高仿QQ聊天软件

    12. **数据同步**:考虑到分布式部署,可能需要使用MySQL的主从复制或者分片策略来保证数据的同步和负载均衡。 13. **错误处理与日志记录**:完善的错误处理机制和日志记录能帮助我们快速定位和解决问题,提高系统...

    双机数据热备和文件同步

    这种配置对于关键业务系统尤为重要,如MySQL数据库,它要求任何在一台服务器上的数据变更都能即时反映到另一台服务器上。 2. **适用范围** MySQL双机热备适用于那些对数据安全性要求高、不能容忍数据丢失或服务...

    canal.deployer-1.0.24

    Canal是阿里巴巴开源的基于MySQL协议的数据库增量日志订阅与消费组件,主要用于数据库的实时备份、数据同步、数据迁移等场景。它能够监听MySQL的数据变更事件,并将这些变更实时地推送给订阅者。Canal支持多种协议,...

    今晚带你解密阿里巴巴Canal1

    总结来说,阿里巴巴Canal是数据库同步领域的一个重要工具,它的出现解决了跨机房数据同步的难题,通过高效解析MySQL的binlog,实现了数据的实时传输和应用,对于构建大规模分布式系统和提升数据一致性具有重要作用。...

    对MySQL日志操作的一些基本命令总结

    二进制日志的同步策略可以通过`sync_binlog`变量调整,默认不是每次写入都同步到磁盘,以提高性能。但为了保证数据安全,可以设置为1,使每次写入都同步,这虽然降低了性能,但增强了数据一致性。 **日志恢复**:在...

    Linux inotify实时备份实现方法详解

    而对于数据库中的数据,MySQL、Oracle等数据库系统通常内置了主从复制功能,也能实现数据的实时备份。 总的来说,Linux中的实时备份可以通过多种途径实现,包括inotify/sersync+rsync、分布式存储系统以及数据库的...

    京东云数据库架构实践.pptx

    云数据库服务支持多种配置,包括主从切换、多块创建和内网访问,提供一键式备份恢复和实时数据转移,保证数据的安全性和可靠性。 此外,京东云还引入了分布式搜索引擎和缓存服务来处理高频数据读写,缓解数据库压力...

    超级课程表的技术选型

    - **一致性问题**:由于缓存与数据库之间存在数据同步延迟,难以做到强一致性,通常采用最终一致性策略。 - **Redis集群**:通过主从复制模式,实现高可用与负载均衡,其中: - Master节点负责写操作,关闭AOF日志...

Global site tag (gtag.js) - Google Analytics