0

0

MySql5.6在Linux服务器上设置数据库同步备份的方法

php中文网

php中文网

发布时间:2016-06-07 15:52:48

|

1523人浏览过

|

来源于php中文网

原创

项目已经完成,后期就是维护之类的了.当然会包括数据库的维护. MySql有个功能Replication正好可以用于数据库同步备份,于是就准备这样弄了. 花了一点时间,终于弄出来了.记录备用: Linux数据库备份设置部分:(第一次设置) 1、数据库版本 两台服务器数据库版本

项目已经完成,后期就是维护之类的了.当然会包括数据库的维护.

MySql有个功能Replication正好可以用于数据库同步备份,于是就准备这样弄了.

花了一点时间,终于弄出来了.记录备用:

Linux数据库备份设置部分:(第一次设置)

1、数据库版本

两台服务器数据库版本最好都保持一致,避免因版本问题带来的不可预知的错误。

2、设置备份帐户名以及密码

数据库都安装好以后,在两台服务器都设置一个专门用于备份的帐号并授权(最好授予全部权限),两个帐号密码最还也设置为一样的。这里在主从数据库都添加了用于备份的帐户名,帐户名都为 backup,密码123123。

3、同步前数据拷贝

从主数据库把数据备份到备份数据库上,可以用navicat的Data Transfer,需要建立两个连接,分别在主、从数据库上,在备份数据库上建立新数据库,与需要备份的主数据库同名,注意编码规则什么的保持一致,然后,   从主数据连接这里选中主数据库,用数据功能把数据传输到备份数据库上,保持两个数据库的数据一致性。

也可以使用其他方法,保证备份前主从数据库的数据一致性就行。

4、主数据库设置

修改主数据库配置文件,在Linux系统中,一般是在 /etc/my.cnf

   在[mysqld]下面添加

   server-id=1           #这个ID必须是唯一的,主数据库在前

   log-bin=mysql-bin     #记录日志

   binlog-do-db=productInfo  #记录日志的数据库名,就是要备份的数据库

   修改完主数据库的配置后,保存,退出,重启主数据库服务。

   然后在主数据库执行一句sql命令(数据库里有函数用来完成特定功能) 

   set globallog_bin_trust_function_creators=1;(MySql函数开启日志的方法,默认是不开启的,主从备份需要开启二进制log,而且mysql官方不建议这个写在配置文件里,所以用sql来执行)

5、从数据库设置

5.1 修改从数据库配置文件

在Linux系统中,一般是在 /etc/my.cnf

    在[mysqld]下面添加

   server-id=2                 #从数据库ID

   relay-log=mysqld-relay-bin  #从数据库的日志文件          

   replicate-do-db=productInfo     #需要备份的数据库名

   修改完配置文件后,保存,退出,重启从数据库服务。

5.2 从数据库sql设置命令  

接下来的操作需要用sql命令来完成。

   用MySql的root用户进入,执行sql命令:

   stop slave;

   CHANGE MASTER TO MASTER_HOST='192.168.1.200',MASTER_USER='backup', MASTER_PASSWORD='123123',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=98;

   start slave;

   退出mysql状态,在linux操作状态下去查看刚才的slave启动是否成功。

   在目录 /usr/local/mysql/data 下的*.err,用cat命令查看这个错误日志文件,根据刚才启动slave的时间,在最后几行,看是否有错误提示。

   因为MASTER_LOG_POS=98 这个属性表示的是从数据库开始备份的起始位置(从主数据库日志读取)一般不会第一次就很准确,需要查看错误提示后修改。

   错误日志类似下面这样:(供参考)

黑灰色风格企业网站源码1.0_20250213
黑灰色风格企业网站源码1.0_20250213

hdhcms网站支持PC、手机版,同时后台支持公众号的接入,包括微信服务号订阅号,可以设置自动回复及服务号菜单及认证订阅号菜单。 1、网站上线方法: 1.1本网站运行环境为:IIS6.5+SQLITE 1.2将网站解压到网站目录 1.3数据库默认为SQLITE,包括在解压目录内,无须修改 1.4 完成上面的配置后通过所绑定的域名即可运行2网址访问及后台访问配置

下载

   080922 10:29:01 [Note] Slave SQL threadinitialized, starting replication in log 'mysql-bin.000778' at position2874108, relay log './relay-bin.003287' position: 2874245

   080922 10:29:01 [Note] Slave I/O thread:connected to master 'replication@192.168.0.10:3306', replication started in log'mysql-bin.000778' at position 2874108

   080922 10:29:01 [ERROR] Error reading packetfrom server: Client requested master to start replication from impossibleposition ( server_errno=1236)

   080922 10:29:01 [ERROR] Got fatal error1236: 'Client requested master to start replication from impossible position'from master when reading data from binary log

   我们上面的起始位置是98,如果不对,按照错误提示的修改(最好主数据库没有人操作,这样主数据库日志记录位置不会变动)

   修改方法:

   mysql用root用户进入,执行sql命令:

   stop slave;

   CHANGE MASTER TOMASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=从错误日志上提示的pos;

   start slave;

   这样的步骤可能需要重复不止一次。

   当查看*.err,最后记录的日志提示都是note以及wrning没有error时,表示从数据库与主数据库同步成功。

6、设置完成后检查

在主数据库上做一些 insert update  delete 这样的操作,然后检查从数据库数据是否发生改变。

 

Linux数据库重启时的设置:

当主数据库需要重启时,需要在重启后做如下操作。

1、主数据库设置.

主数据库数据用navicat的data transfer功能备份到从数据库。

  查看最新的日志记录文件,第一次是mysql-bin.000001,第二次是mysql-bin.000002,以此类推。

  查看目录 /usr/local/mysql/data 下面,主数据库ip地址 192.168.1.200

  了解了最新的日志记录文件后,记下来(修改从数据库slave备份设置需要)。

  然后在主数据库执行一句sql命令  

  set global log_bin_trust_function_creators=1;(MySql函数开启日志的方法,默认是不开启的,主从备份需要开启二进制log,而且mysql官方不建议这个写在配置文件里,所以用sql来执行)

2、从数据库设置

  mysql用root用户进入,执行sql命令:(假定主数据库最新的日志文件是mysql-bin.000005)

  stop slave;

  CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=98;

  start slave;

  然后参考初次设置从数据库slave的方法,查看 *.err,看是否启动同步成功,如果没有同步成功需要多重复几次,主要是根据错误日志的提示,修改MASTER_LOG_POS的值。

 

3、备注:

主从同步错误调整可参考http://www.linuxidc.com/Linux/2012-02/54729.htm


相关文章

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vlookup函数使用大全
vlookup函数使用大全

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

26

2025.12.30

金山文档相关教程
金山文档相关教程

本专题整合了金山文档相关教程,阅读专题下面的文章了解更多详细操作。

28

2025.12.30

PS反选快捷键
PS反选快捷键

本专题整合了ps反选快捷键介绍,阅读下面的文章找到答案。

25

2025.12.30

表格中一行两行的方法
表格中一行两行的方法

本专题整合了表格中一行两行的相关教程,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

cpu温度过高解决方法大全
cpu温度过高解决方法大全

本专题整合了cpu温度过高相关教程,阅读专题下面的文章了解更多详细内容。

5

2025.12.30

ASCII码介绍
ASCII码介绍

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

31

2025.12.30

GPS是什么
GPS是什么

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

3

2025.12.30

wifi拒绝接入
wifi拒绝接入

本专题整合了wifi拒绝接入相关教程,阅读下面的文章了解更多详细方法。

9

2025.12.30

丰网速运介绍
丰网速运介绍

本专题整合了丰网速运查询入口以及相关内容,阅读专题下面的文章了解更多内容。

3

2025.12.30

热门下载

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

精品课程

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

共48课时 | 6.3万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

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

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