不同操作系统下的mysql数据库同步
作者:lizyy 来源:PHPchina 发布时间:2008-12-22 14:41:00
当数据库的数据量读写频繁的时候,我们就要考虑把数据库的读写分开,以提高数据库的使用效率,(当然还有其他用处比如,备份数据),这个时候我们就要用到mysql的一个功能,数据库同步。下面就具体讲一下实现方法。
一、系统环境
主数据库(master):
系统:windows
数据库:MySQL 5.0.51
IP:192.168.1.156
从数据库(slave):
系统:linux
数据库:MySQL 5.0.67
IP:192.168.1.154
二、配置参数:
发现网上说,两个数据库的配置必须一致,还把两个配置文件对拷。看起来挺有道理,因为怕部分功能不一致,也有可能导致同步错误。但是我的两个MYSQL的所在系统都不一样,所以就按照默认的安装配置了。
数据库准备:
要同步的数据库叫 account
那就必须把主服务器上的account和数据完整的导一份 到slave服务器上
且在主服务器上开一个帐户,允许从服务器访问。
主数据库(master)配置:
=============================
修改mysql 的配置文件my.cnf,
找到 server-id 这一行,更改如下
server-id = 1
且增加两行必要信息:
log-bin = d:/log-bin.log #二进制变更日值的存放位置
binlog-do-db = account #要同步的数据库
=======================================
解释下:Slave上Mysql的Replication工作有两个线程,I/O thread和SQL thread,I/O 的作用是从master 3306端口上把它的binlog取过来(master在被修改了任何内容之后,就会把修改了什么写到自己的binlog等待slave更新),然后写到本地的relay-log,而SQL thread则是去读本地的relay-log,再把它转换成本Mysql所能理解的东西,于是同步就这样一步一步的完成.
master数据库的修改仅此一步就OK了
从数据库(slave)配置:
=====================================
修改 mysql 下的my.cnf
找到 server-id 这一行,更改如下
server-id = 2 //从数据库
master-host = 192.168.1.156
master-user = lzy
master-password = lzy
master-port = 3306
replicate-do-db = account //要同步的数据库
最后,把两个mysql都重启动一下。
1、看看刚才设置的日志路径下有没有日志生成。
2、在156上添加一条数据,看看从数据库有没增加。如果没有,看看slave数据库的错误日志,根据错误信息具体调试下。
=====小插曲=======
配置好同步后,我发觉log-bin的日志位置不好,想换一个地方,于是改到其他盘去了。重启MYSQL后发现同步不能用了。超级郁闷。于是去看了下mysql的错误日志,
“count not find first log file name in binary log in…”
找了半天没找到原因,忽然发现错误日志的同目录下有个master.info文件,应该是记录从主服务器取数据的记录吧。打开看了看是的
14
log-bin.000003
337
192.168.1.156
lzy
lzy
3306
60
0
我把这个文件删除了,重启动mysql。
OK了数据同步过来了。


猜你喜欢
- 目标跟踪是对摄像头视频中的移动目标进行定位的过程,有着非常广泛的应用。实时目标跟踪是许多计算机视觉应用的重要任务,如监控、基于感知的用户界面
- asp+access用户登录代码,loginnew.asp网面包含了登录框及验证用户的代码an.mdb数据库名fd表名y_username用
- 注:代码用 jupyter notebook跑的,分割线线上为代码,分割线下为运行结果1.导入库生成缺失值通过pandas生成一个6行4列的
- 本文实例讲述了python通过wxPython打开一个音频文件并播放的方法。分享给大家供大家参考。具体如下:这段代码片段使用wx.lib.f
- 输入命令jupyter notebook --generate-config可以看到此时Jupyter Notebook的默认目录找到对应路
- 想要一个这玩意,可是找了网上许多着色器,要么是兼容性成问题,要么是匹配不精确,比如说:1、注释里包含字符串、关键词,类似于:/* xxxx&
- Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易。本指南中,我将一步一步指导你在Heroku平台上部署一个简单地
- 实现效果:实现代码import numpy as npfrom skimage import img_as_floatimport matp
- 作为一个合格的开发者,在本地环境下完成开发还远远不够,我们需要把Web App部署到远程服务器上,这样,广大用户才能访问到网站。很多做开发的
- 介绍Python常见的字符串处理方式字符串截取 >>>s = 'hello'>>>s[0
- time简介世界上第一台计算机操作系统Unix是诞生于1970年,然后就开始了计算机的时间计算,所以我们计算机的时间是开始于1970年1月1
- 版本选择因为MySql的版本越来越多,而作为中小网站者可能没有足够的经济去购买商业版本,所以一般选择免费版,而且功能也是足够使用的。有钱任性
- 前言随着圣诞的到来,大家纷纷@官方微信给自己的头像加上一顶圣诞帽。当然这种事情用很多P图软件都可以做到。但是作为一个学习图像处理的技术人,还
- 首先你要确定错误的原因: 让IE显示详细的出错信息: 菜单--工具--Internet选项--高级--显示友好的HTTP错误信息,去掉这个选
- 有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页
- 用于存储数据的csv文件有时候数据量是十分庞大的,然而我们有时候并不需要全部的数据,我们需要的可能仅仅是前面的几行。这样就可以通过panda
- 什么是函数? 以前我们学过数学函数都知道,函数
- 利用numpy库(缺点:有缺失值就无法读取)读:import numpy my_matrix = numpy.loadtxt(open(&q
- 与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。
- zip通常用于将两个列表合并在一起以同时进行迭代遍历注意:直接使用zip输出结果为<zip at 0x1d72cf30bc8>,