不同操作系统下的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了数据同步过来了。

标签:
0
投稿

猜你喜欢

  • 对python条件表达式的四种实现方法小结

    2023-11-05 17:01:58
  • 彻底解决MySQL使用中文乱码的方法

    2024-01-22 02:05:28
  • 基于Python新建用户并产生随机密码过程解析

    2021-08-26 11:25:18
  • Python程序打包工具py2exe和PyInstaller详解

    2021-04-17 05:04:12
  • 用XML结合数据库,给服务器减负

    2007-10-31 09:40:00
  • Refactoring HTML 书评

    2008-07-10 12:00:00
  • 谈切图优化加速图片显示—淘宝实例

    2008-01-30 12:24:00
  • centos7通过yum安装mysql的方法

    2024-01-18 06:48:57
  • python实现pptx批量向PPT中插入图片

    2021-10-05 23:18:29
  • 安装并免费使用Pycharm专业版(学生/教师)

    2023-09-27 08:14:13
  • Go 语言前缀树实现敏感词检测

    2024-05-05 09:27:18
  • Python如何求取逆序数

    2022-07-16 07:16:57
  • python保存图片的四个常用方法

    2023-10-03 15:06:37
  • 关于python实现requests接口测试的问题

    2023-08-27 10:09:18
  • 解决tensorflow模型压缩的问题_踩坑无数,总算搞定

    2021-12-18 03:09:23
  • python request 模块详细介绍

    2021-02-12 22:15:33
  • go并发实现素数筛的代码

    2024-04-27 15:38:03
  • 960网格系统

    2009-02-17 12:22:00
  • mysql 存储过程 使用小结

    2010-10-25 20:02:00
  • Pyqt实现简易计算器功能

    2022-05-10 13:00:51
  • asp之家 网络编程 m.aspxhome.com