不同操作系统下的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了数据同步过来了。
猜你喜欢
- 有两种方法供参考.一种是实实在在的将图片先用ASPJPEG组件做成想要的尺寸,再读取好处是节省服务器带宽,速度快坏处是处理起来较为麻烦,并网
- asp连接sql 第一种写法: 代码如下: MM_conn_STRING = "Driver={SQL Server};serv
- CSS 文件的大小和所引起的 HTTP 的请求数是 CSS 性能的最关键因素回流(reflow)和渲染时间(非常!)没那么重要副本(dupl
- 如何显示已在数据库编码了的相对应的记录?我做了一个歌曲库,在查询中使用了几个下拉菜单供选择条件用,如歌手的性别、区域、爱好等,由于选项太多,
- 在填写表单的时候为了让用户有更好的体验,有时需要根据用户的输入出现提示共用户选择,我这个就是根据输入的内容,从数据库取出相关内容以供选择,这
- 一直以来,jQuery是我最喜欢的框架之一。1月14号 1.4 Released版本发布后,就迫不及待去了解了一下1.4版本对比以往1.3.
- 本文探讨了提高MySQL数据库性能的思路,并从8个方面给出了具体的解决方法。1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,
- mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库
- 随着jQuery、Mootools、prototype等知名的JavaScript框架的应用变的越来越强大,浏览器对最新版本CSS属性的支持
- 每次查询分析器寻找路径时,并不会每一次都去统计索引中包含的行数,值的范围等,而是根据一定条件创建和更新这些信息后保存到数据库中,这也就是所谓
- 开发过程中,错误免不了。为了纠正错误与规范化。可以使用MS SQL Server的系统存储过程sp_rename与OBJECTPROPERT
- 游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们
- 比如有一个需求,通过sql语句,返回-5至5的随机整数.如果这一个放在PHP中,则非常简单直接用print rand(-5,5);?>
- 比如说点的是图片的左边,还是右边,上边还是下边?点击图片左右显示上下张,我怎么知道?这样就可以做出像QQ空间那样,打开上一个图片和下一个图片
- 北京时间2月15日据国外媒体报道,美国知名sns网站Facebook全球活跃用户量已突破1.75亿大关。数据显示,全球20%的网民都使用Fa
- 影响 JavaScript性能的另外一个杀手就是递归,在上一节中提到采用memoization技术可以优化计算数值的递归函数,但memoiz
- 这段时间我一直在说设计需要有层次感,这种层次感可能有很多类型,比如色彩的层次感,或是元素的层次感。当一个设计缺乏层次感的时候页面所表现出来的
- 代码如下:CREATE DATABASE 临时的 ON ( NAME='临时的_Data', FILENAME='h
- 网站内容的入口很大一部分都是依赖于导航系统,而网站的入口很大一部分依赖于搜索系统,这也在一定意义上证明了导航与搜索之间的重叠性。搜索系统可以
- 关于数据库的逻辑设计,是一个很广泛的问题。本文主要针对开发应用中遇到在MS SQL Server上进行表设计时,对表的主键设计应注意的问题以