1、介绍

  MySQL数据库设置读写分离,可以使对数据库的写操作和读操作在不同服务器上执行,提高并发量和响应速度。现在的网站一般大点的,都采用有数据库主从分离、读写分离,既起到备份作用也可以减轻数据库的读写的压力,一直听说过这些,但是从来没有亲自动手实践过,今天有时间实践一下,记录下过程。

2、环境准备

  我准备了两台服务器,一个是本机PC,一个是远程服务器,分别在两台机子上装有Mysql数据库MySQL安装我就不介绍了,这里需要注意的是:MySQL安装的版本最好一致,如果不一致,低版本向高版本读的时候可能有问题,最好保持一致。

  主库master 服务器:172.10.10.69 centos 7 Linux系统 , mysql版本 5.6.35

  从库slave 本机:172.10.10.240 Win7系统, mysql版本 5.6.35

3、主库配置

  

  在主库中创建一个用户root,用于从库读取主库的执行日志。
  需要在mysql命令行里执行,需要先登录命令行

  1、GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.10.10.240' IDENTIFIED BY '123456';
  2、flush privileges; 
  修改my.cnf文件:
  在【mysqld】下面添加
server-id=13
log-bin=master-bin
log-bin-index=master-bin.index

重启MySQL

  进入mysql命令行,输入show master status;查看信息

记住File和Position,因为在配置从服务时要使用。

4、配置从服务器

修改my.cnf

server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index

重启数据库。

管连主数据库,在命令行输入一下命令:

change master to master_host='192.10.10.69',   #Master 服务器Ip
master_port=3306,
master_user='root',
master_password='123456',
master_log_file='master-bin.000255',  #Master日志文件名
master_log_pos=1575; #Master日志同步开始位置

注意是否执行成功,如果执行失败就好好检查下代码,看看哪里写错了。
如果执行正常,就启动从库slave,并查看下连接状态。

//需要再mysql命令行执行
start slave;
show slave status; //查看slave连接状态

状态信息:

  Slave_IO_State: Waiting for master to send event
                  Master_Host: 45.78.57.4
                  Master_User: test
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000001
          Read_Master_Log_Pos: 672913
               Relay_Log_File: slave-relay-bin.000044
                Relay_Log_Pos: 504
        Relay_Master_Log_File: master-bin.000001
             Slave_IO_Running: Yes    //必须为YES
            Slave_SQL_Running: Yes  //必须为YES

如果Slave_IO_Running和Salve_SQL_Running不同时为YES,则配置错误,检查上面步骤。

5、测试

在主数据库添加一条数据,在从数据库查看是否有数据。

MySQL数据库主从分离的配置方法的更多相关文章

  1. MySQL的主从分离基本配置

    1.介绍 MySQL数据库设置读写分离,可以使对数据库的写操作和读操作在不同服务器上执行,提高并发量和响应速度.现在的网站一般大点的,都采用有数据库主从分离.读写分离,既起到备份作用也可以减轻数据库的 ...

  2. Docker Mysql数据库双主同步配置方法

    一.背景 可先查看第一篇<Docker Mysql数据库主从同步配置方法>介绍 二.具体操作 1.创建目录(~/test/mysql_test1): --mysql --mone --da ...

  3. MySql互为主从配置文件及配置方法

    # Example MySQL config file for medium systems. # # This is for a system with little memory (32M - 6 ...

  4. Linux安装Mycat1.6.7.4并实现Mysql数据库读写分离简单配置

    1. Mycat简介 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一 ...

  5. Centos下MySQL数据库主从双向同步配置

    MYSQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务 ...

  6. [转帖]mysql数据库主从配置

    mysql数据库主从配置 https://www.toutiao.com/i6680489302947791371/ 多做实验 其实挺简单的 很多东西 要提高自信 去折腾. 架构与我 2019-04- ...

  7. mysql数据库主从同步读写分离(一)主从同步

    1.mysql数据库主从同步读写分离 1.1.主要解决的生产问题 1.2.原理 a.为什么需要读写分离? 一台服务器满足不了访问需要.数据的访问基本都是2-8原则. b.怎么做?  不往从服务器去写了 ...

  8. Linux下MySQL数据库主从同步配置

    说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...

  9. Spring AOP实现Mysql数据库主从切换(一主多从)

    设置数据库主从切换的原因:数据库中经常发生的是“读多写少”,这样读操作对数据库压力比较大,通过采用数据库集群方案, 一个数据库是主库,负责写:其他为从库,负责读,从而实现读写分离增大数据库的容错率.  ...

随机推荐

  1. Python基础:条件判断与循环的两个要点

    一.条件判断: Python中,条件判断用if语句实现,多个条件判断时用if...elif实现:看下面一段程序 #python 3.3.5 #test if...elif age = 20 if ag ...

  2. 聊聊javaMail

    今天闲着无事 看了看用java发送邮件的相关知识 代码参考自<<精通Java Web整合开发(JSP+AJAX+Struts+Hibernate)>>(第2版) 不多说 先上图 ...

  3. FFMPEG结构体分析:AVStream

    注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...

  4. WebService开发指南

    WebServiceInAurora Web Service Web Service是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作.在Aurora框架 ...

  5. C++11特性 - Smart Pointers 智能指针

    已经有成千上万的文章讨论这个问题了,所以我只想说:现在能使用的,带引用计数,并且能自动释放内存的智能指针包括以下几种:         unique_ptr: 如果内存资源的所有权不需要共享,就应当使 ...

  6. Demonstration of DB Query Analyzer 6.03 Installation and Running on Microsoft Windows 8

    Demonstration of DB Query Analyzer 6.03 Installation and Running on Microsoft Windows 8 Ma Genfeng ( ...

  7. Unix - ls命令的简要实现

    #include <dirent.h> 是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数.readdir函数. opend ...

  8. unity xml序列化与反序列化 多平台

    换平台确实是一个头疼的问题,本来在pc用.net的json处理数据很是顺手的,但是发布web版本后,发现他不支持.后面找了好几个开源json都不能很好的支持web,或者不能支持List等.于是我就想着 ...

  9. ruby:借助第三方类名如何查找第三方gem名称(zlib为例)

    rubygem中含有成千上万的第三方gem,网上书上扩展教程中都有指导如何使用第三方gem的例子.但是如果不幸这些例子都没有提及gem名称的话,如何只凭第三方类名或require名查找gem名称呢?换 ...

  10. Nginx安装Nginx-echo模块

    Nginx-echo可以在Nginx中用来输出一些信息,是在测试排错过程中一个比较好的工具.它也可以做到把来自不同链接地址的信息进行一个汇总输出.总之能用起来可以给开发人员带来挺大帮助的.下面看看我们 ...