• 技术文章 >数据库 >mysql教程

    Mysql读写分离是什么?主从数据库如何设置?

    不言不言2018-10-09 15:22:01转载940
    本篇文章给大家带来的内容是关于Mysql读写分离是什么?主从数据库如何设置?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    何谓读写分离?

    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为例:

    主服务器(增删改):

    #1.Mysql配置改以下并重启服务(命令行里直接重启:service mysql restart)
    [mysqld]
    server-id=1
    log-bin=master-bin
    log-bin-index=master-bin.index
    
    #2.命令行mysql执行或phpmyadmin里执行:
    GRANT REPLICATION SLAVE ON *.* TO 'spec'@'192.168.0.2' IDENTIFIED BY 'spec_password';
    flush privileges;

    这样,主服务器就完工了.

    从服务器配置:

    #1.Mysql配置改以下并重启服务(命令行里直接重启:service mysql restart)
    [mysqld]
    server-id=2
    relay-log-index=slave-bin.index
    relay-log=slave-bin
    
    #2.命令行mysql执行或phpmyadmin里执行:
    change master to master_host='192.168.0.1',master_port=3306,master_user='spec',master_password='spec_password',master_log_file='master-bin.000001',master_log_pos=0;
    start slave

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

    3.测试:

    从服务器中查询语句:show slave status
    如果Slave_IO_State=Waiting for master to send event就成功了.
    其余状态通常都是以下原因:

    1.主从的安全组或防火墙未打开3306端口
    2.主从之间ping不通.
    3.上面的spec账密错误

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

    4.建议:

    1.切记从服务器只操作读,不操作增删改.保持数据的同步性,这样当一台服务器故障的时候,另一台就可以顶上去(其实主服务器宕机的时候肯定会丢失一部分最新数据)。
    2.从服务器的带宽一定>=主服务器,尽量减少同步延迟.要是小水管,同步自然慢一步嘛。

    以上就是Mysql读写分离是什么?主从数据库如何设置?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault思否,如有侵犯,请联系admin@php.cn删除
    专题推荐:mysql主从 mysql php
    上一篇:MYSQL查询怎么优化?mysql查询优化的方法介绍 下一篇:MongoDB导入json数据的方法
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 如何恢复MySQL主从数据一致性_MySQL• 分布式架构高可用架构篇_07_MySQL主从复制的配置(CentOS-6.7+MySQL-5.6)_MySQL• mysql主从同步_MySQL• 如何使用Percona Toolkit解决Mysql主从不同步问题_MySQL• mysql主从同步中应注意的问题_MySQL• MySql主从复制配置示例_MySQL
    1/1

    PHP中文网