最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小采 时间:2020-11-09 15:16:44
文档

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

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

项目已经完成,后期就是维护之类的了.当然会包括数据库的维护. 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 这个属性表示的是从数据库开始备份的起始位置(从主数据库日志读取)一般不会第一次就很准确,需要查看错误提示后修改。

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

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

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

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

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

最新推荐

猜你喜欢

热门推荐

专题
Top