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. Keepalived与MySQL互为主从自动切换配置

    为解决Mysql数据库单点问题,实现两台MySQL数据库互为主备,双向replication.当一Master出现问题,则将Slave切换为Master继续工作. 环境说明 系统版本:CentOS L ...

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

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

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

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

  5. mysql互为主从(双主)配置

    环境: ubuntu18.04.2 mysql5.7.21 #创建mysql属组 groupadd mysql useradd -g mysql mysql #查看属组 tail /etc/passw ...

  6. mysql服务器主从数据库同步配置(转)

    <a href=""></a> <p>首先需要在同一个局域网内的两台机器(当然也可以用一台机器虚拟两台机器出来),都安装上mysql服务.< ...

  7. mysql服务器主从数据库同步配置

    首先需要在同一个局域网内的两台机器(当然也可以用一台机器虚拟两台机器出来),都安装上mysql服务. 主机A: 192.168.1.100 从机B: 192.168.1.101 可以有多台从机. 1. ...

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

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

  9. Mysql主从分离与双机热备超详细配置

    一.概述 本例是在Windows环境,基于一台已经安装好的Mysql57,在本机安装第二台Mysql57服务. 读完本篇内容,你可以了解到Mysql的主从分离与双机热备的知识,以及配置期间问题的解决方 ...

随机推荐

  1. 一、纯css实现顶部进度条随滚动条滚动

    一.效果图 二.直接复制粘贴 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  2. spring boot web开发 简单的增删改查和spring boot 自带的Junit测试 案例

    创建 web项目 配置pom.xml文件   ------相当于jar包 配置application.yml -----配置文件(spring数据库连接.server服务.logging日志等) 创建 ...

  3. npm 和package.json 文件

    你可能还记得使用vue-cli 创建vue项目.当创建项目完成后,我们进入到项目目录,启动cmd命令窗口,输入npm install,它就会安装一堆东西(依赖),然后再输入npm run dev, 我 ...

  4. codeforces722B

    Verse Pattern CodeForces - 722B You are given a text consisting of n lines. Each line contains some ...

  5. 训练赛-Building Numbers

    题意:首先告诉你,一个数字从1开始有两种变换方式:1.当前数字的值加1 2.当前的数字值乘2: 思路:首先把数组里的数字需要的变换次数算出来,然后用前缀和解决: 代码: #include<ios ...

  6. Nginx map模块

    L77 Syntax: map string $variable { ... } Default: — Context: http map 指令 curl -H 'aaaa:4444444' -H ' ...

  7. HTML5-SVG-基础篇

    什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺 ...

  8. docker资料---仓库搭建

    以下步骤均为本人亲自踩坑,历经数次失败,最终搭建成功 一.环境信息: 操作系统:CentOS 7 Docker版本:1.12.5 (更高版本应该类似) registry:2.4.1 registry- ...

  9. mybatis查询修改同时操作

    update dic_purchase set state =0 where purchase_number in (select tmp.* from (select purchase_number ...

  10. github Permission denied (publickey). fatal: Could not read from remote repository.

    github Permission denied (publickey).fatal: Could not read from remote repository. ----------------- ...