zoukankan      html  css  js  c++  java
  • Mysql读写分离与主从数据库设置方案

    Mysql读写分离与主从数据库设置方案

    亿仁网

    18-10-0711:31

    Mysql无非四个功能:增,删,改,读.而将增删改和读分离操作.这样有利于提高系统性能。下面是非常直观的操作:

    1.配置:

    两台服务器同配置的mysql如mysql5.7

    PS:如果条件有限,一台也可以,只需要安装两个mysql服务(不同端口如3306,3307),只是这就有点违背效率初衷了

    2.代码:

    1.一般直接在代码层将mysql操作类的读写如update,insert与select * from进行路由分离.使之对应不同的服务器.

    2.中间件代理,即不改动代码的前提下,由中间件将读写请求发送至主从服务器.

    现在讲讲主从如何配置:

    1.开放端口:大部分主机都默认Mysql端口3306,那么先将两台机子的安全组或防火墙里把3306端口打开并重启.

    2.端口打开了,现在配置两个服务器(一台主机两个Mysql服务器的同理):

    下文以主ip:192.168.0.1,从ip:192.168.0.2,创建同步账号spec,密码spec_password为例:

    目前,主服务器就完工了。接下来继续配置

    一般来说,配置到此就完成了.

    3.测试:

    从服务器中查询语句:show slave status

    如果Slave_IO_State=Waiting for master to send event就成功了.

    其余状态通常都是以下原因:

    1.主从的安全组或防火墙未打开3306端口

    2.主从之间ping不通.

    3.上面的spec账密错误

    现在起,在主服务器随便增删改,都会同步到从服务器了.

    4.建议:

    1.切记从服务器只操作读,不操作增删改.保持数据的同步性,这样当一台服务器故障的时候,另一台就可以顶上去(其实主服务器宕机的时候肯定会丢失一部分最新数据).

    2.从服务器的带宽一定>=主服务器,尽量减少同步延迟.要是小水管,同步自然慢一步嘛.

  • 相关阅读:
    Springmvc数据验证
    Springmvc文件上传
    BaseController
    说说NSProxy
    Objective-C的动态设计
    UITableView卡片式分组
    RunLoop应用之性能优化
    OC与JS交互之JavaScriptCore
    Core Data 迁移
    一个广告轮播视图的实现
  • 原文地址:https://www.cnblogs.com/xuzhongtao/p/11082578.html
Copyright © 2011-2022 走看看