当数据库的数据量读写频繁的时候,我们就要考虑把数据库的读写分开,以提高数据库的使用效率,(当然还有其他用处比如,备份数据),这个时候我们就要用到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了数据同步过来了。

MySQL可运行在不同的操作系统下_不同操作系统下的mysql数据库同步相关推荐

  1. mysql服务没有权限开机不会自启动_计算机服务项里没有MySQL服务,无法设置开机自启动或者关闭自启动,的解决办法...

    我的MySQL使用的是解压版的(不清楚适不适用于安装版,可以尝试),并且已配置好环境变量,但是发现每次使用MySQL数据库的时候都需要去解压后的文件夹里启动run.bat,然后MySQL数据库才可以使 ...

  2. mysql 查看表v空间自增涨_面试问烂的 MySQL 查询优化,看完屌打面试官!

    Java技术栈 www.javastack.cn 优秀的Java技术公众号 作者:唐立勇 https://segmentfault.com/a/1190000013672421 什么影响了数据库查询速 ...

  3. 麒麟操作系统基于linux哪个版本_linux操作系统排行_桌面操作系统难在哪?国产麒麟系统应用仅为Windows十...

    桌面操作系统难在哪?国产麒麟系统应用仅为Windows十万分之一 10平台上差不多有70完款应用软件,而中标麒麟桌面操作系统只有8款,只有Windows平台的十万分之一左右. 公平地说,中标麒麟是基于 ...

  4. sublime运行python代码python没显示_解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享...

    解决方案 搜了一下,找到一个 Linux 下的解决方案,如下所示: Sublime Text2 运行pySide/pyQt程序的问题 Ctrl-B后,界面不会弹出来,但是后台进程里面有"py ...

  5. 容器操作系统虚拟化_为什么操作系统在容器化世界中很重要

    容器操作系统虚拟化 Linux容器中运行的应用程序被隔离在物理服务器上运行的操作系统的单个副本中. 该方法与基于虚拟机管理程序的虚拟化形成对比,在虚拟机管理程序中,每个应用程序都绑定到来宾操作系统的完 ...

  6. mysql单表瓶颈_mysql单表性能瓶颈_优化系列 | 实例解析MySQL性能瓶颈排查定位-云栖社区-阿里云...

    导读 从一个现场说起,全程解析如何定位性能瓶颈. 排查过程 收到线上某业务后端的MySQL实例负载比较高的告警信息,于是登入服务器检查确认. 1. 首先我们进行OS层面的检查确认 登入服务器后,我们的 ...

  7. mysql 一对多 根据多条数据排序_优化的道路永无止境——Mysql的ICP及MRR

    在讲ICP和MRR之前,我们先了解一下MySQL的架构.于本文的重点并不在架构细节上,所以让我们直接看关键部分,存储引擎作为单独的一层,是连接底层存储系统和上层server其他部分的桥梁,而MySQL ...

  8. 用java语言编写的操作系统属于_为什么操作系统不是用java编写的?

    因为我们已经拥有操作系统,主要是. Java并不是设计用于在裸机上运行,​​但这并不像最初看起来那么大.由于C编译器提供了编译为特定指令的内部函数,因此Java编译器(或JIT,在此上下文中区别没有意 ...

  9. 操作系统源代码_国产操作系统“之光”?Windows XP绝密源代码泄露,BT种子已在网上疯传...

    微软的Windows操作系统是目前使用人数最多.覆盖最广的桌面操作系统,从安全角度来看,其系统源代码对于公众而言可以说是绝密.不过......现在......,黑客在4Chan平台上以BT种子文件的形 ...

最新文章

  1. (C++)1002 A+B for Polynomials
  2. KR C 传统C语言的函数定义
  3. 头条自己提问的问题在哪看_在头条的这三十天
  4. python调用simulink_[Python-MATLAB] 在Python中调用MATLAB的API
  5. 用vlc搭建简单流媒体服务器(UDP和TCP方式)-转 rtsp很慢才能显示
  6. 哪些话你一开始不信,后来却深信不疑
  7. 用友u8怎么导出凭证_用友软件如何导出凭证模板?
  8. 以太网MAC协议--CSMA/CD协议
  9. 这可能是目前最好用的p2p外网访问内网软件(免费内网穿透)
  10. JAVA实现微信授权登录(详解)
  11. Web3js 小笔记
  12. 畅购商城_第9章SpringSecurity整合Oauth2
  13. 超详细Gulp打包seajs模块压缩合并,绝对对你项目有帮助 ~
  14. FMI飞马网 |【线上直播】持续集成在京东研发的落地及应用
  15. FPGA之乒乓Buffer
  16. AI算法+EasyCVR打造智慧城市,构建万物互联智能世界
  17. cocoscreator的游戏背景适配方案
  18. Springboot+阿里云kafka踩坑实录
  19. 关于Unity 中的destory 删除与预制体的克隆(怎样避免删除预制体)
  20. ACM图论+数据结构杂题总结

热门文章

  1. 定期定量采购_企业常见的六种采购策略
  2. 窦学计算机基础期末考试,关于新生开学考计算机基础
  3. 皮尔逊相关性_皮尔逊的相关性及其在机器学习中的意义
  4. Bean放入Spring容器,你知道几种方式?
  5. MySQL 常见的开放性问题
  6. Redis事务深入解析和使用
  7. 秋招注意事项和面试通关攻略
  8. 阿里巴巴Linux开源镜像站 华为Linux开源镜像站 Linux宝塔面板
  9. Kali-Linux-2019.04虚拟机与物理机实现复制粘贴功能
  10. Android--快速接入微信支付