什么是主从复制?

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。

主从复制的作用(好处)!

1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。

2、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。

3、读写分离,使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。

Mysql简介:

数据库的种类很多,Oracle、Sql Server、mySQL、Access等他们个自有自己的特点和应用范围,因为一直做sqlserver之前用的比较多的是SqlServer.由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL是一个多用户、多线程的关系型数据库管理系统。 工作模式是基于客户机/服务器结构。目前它可以支持几乎所有的操作系统,同时也可以和php完美结合。

简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的SQL数据库服务器。

下面介绍怎么使用Mysql实现主从复制.

1.首先用Vmware创建两个centos7的服务器系统(多个也可以,这里只创建两个,并关闭防火墙).两个服务器的IP分别是 主:192.168.2.128,从:192.168.2.130.

2.在两个服务器中分别安装mysql数据库,并开放给本机(windows)登录(centos7安装mysql数据库本文并不过多赘述).

3.本机用workbench登录主服务器数据库与从服务器数据库,并在其中创建两个相同结构的数据库与数据表.

4.在主服务器中设置mysql配置:

1):使用命令 vi /etc/my.cnf添加配置,添加完成后保存.

5.在主服务器上登录mysql:使用命令 mysql -u root -p.

6.创建一个账号(用来让从服务器登录连接主服务器并复制主服务器的数据日志以达到主从复制的目的)

  1. mysql> create user 'datasync'@'192.168.2.%' identified by 'DataSync.123456';
  2. mysql> grant replication slave on *.* to 'datasync'@'192.168.2.%';

7.重启mysql服务:使用命令 systemctl restart mysqld

8.登录mysql数据库查看master状态 先使用命令mysql -u root -p登录,然后使用命令 show master status;查看状态(记住下图中的状态配置,在从服务器设置中将会用到);

至此,主服务器的配置工作已全部完成,接下来是从服务器配置过程.

9.登录从服务器(192.168.2.130),登录mysql,mysql -u root -p.并修改配置文件 vi /etc/my.cnf

10.重启mysql服务 systemctl restart mysqld

11.在mysql中配置用户同步 change master to master_host='192.168.2.128',master_port=3306,master_user='datasync',master_password='DataSync.123456',master_log_file='mysql-bin.000004',master_log_pos=447;

12.启动slave: 使用命令 start slave;

13.查看slave状态:show slave status\G(如果Slave_IO_Running和Slave_SQL_Running的结果都为Yes的话,表明从服务器配置成功);

14.配置完成,这时候我们往主服务器插入几条数据:

15.打开从服务器数据库中的相关表,查看表中有无更新数据(可以看到,我们并没有往从服务器中手动插入数据,但是从服务器中有了三条数据,跟我们在往主服务器中插入的数据一模一样,表明主从复制已经成功):

至此,mysql主从复制配置成功,测试成功.

mysql之使用centos7实现主从复制(读写分离)的实现过程的更多相关文章

  1. mysql主从复制-读写分离

    mysql主从复制+读写分离 环境:mysql主:193.168.1.1mysql从:193.168.1.2amoeba代理:193.168.1.3########################## ...

  2. Mysql多实例安装+主从复制+读写分离 -学习笔记

    Mysql多实例安装+主从复制+读写分离 -学习笔记 .embody{ padding:10px 10px 10px; margin:0 -20px; border-bottom:solid 1px ...

  3. MySQL 主从复制&读写分离 简介

    1. 读写分离&读写分离 简介 主从同步延迟 分配机制 解决单点故障 总结 2. 主从复制&读写分离 搭建 搭建主从复制(双主) 搭建读写分离 1. 读写分离&读写分离 简介 ...

  4. MySQL/MariaDB数据库的PROXY实现读写分离

    MySQL/MariaDB数据库的PROXY实现读写分离 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ProxySQL概述 1>.各家互联网公司读写分离的解决方案 m ...

  5. MySQL常用工具、日志及读写分离

    MySQL常用工具.日志及读写分离 1.MySQL中常用工具 1.1 mysql 1.1.1连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 mys ...

  6. MySQL 之 MHA + ProxySQL + keepalived 实现读写分离,高可用(二)

    ProxySQL安装 yum/rpm安装 在github或官网上可以下载rpm包,wiki的Getting start章节有详细介绍. cat <<EOF | tee /etc/yum.r ...

  7. MySQL架构之 主从+ProxySQL实现读写分离

    准备服务器: docker run -d --privileged -v `pwd`/mysql_data:/data -p 3001:3306 --name mysql5-master --host ...

  8. atlas+mysql主主集群实现读写分离

     atlas+mysql主主集群实现读写分离 前言: 目前线上系统数据库采用的是主主架构.其中一台主仅在故障时切换使用,(仅单台服务器对外提供服务,当一台出现问题,切换至另一台).该结构很难支撑较大并 ...

  9. redis 主从复制+读写分离+哨兵

    1.redis读写分离应用场景 当数据量变得庞大的时候,读写分离还是很有必要的.同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能.redis ...

随机推荐

  1. 5.Javascript 原型链之原型对象、实例和构造函数三者之间的关系

    前言:用了这么久js,对于它的原型链一直有种模糊的不确切感,很不爽,隧解析之. 本文主要解决的问题有以下三个: (1)constructor 和 prototype 以及实例之间啥关系? (2)pro ...

  2. centos7之iptables与firewalld

    保障数据的安全性是继保障数据的可用性之后最为重要的一项工作.防火墙作为公网 与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用. firewalld与iptables iptables f ...

  3. code4906 删数问题

    题目: 键盘输入一个高精度的正整数n(<=240位), 去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数. 编程对给定的n和s,寻找一种方案,使得剩下的数最小. Simple Inp ...

  4. tp5允许跨域

    header("Access-Control-Allow-Origin: *"); 放在命名空间之后

  5. 使用 Php Artisan Tinker 来调试你的 Laravel

    Posted on 2016年6月19日 by ichou 本文翻译自:Tinker with the Data in Your Laravel Apps with Php Artisan Tinke ...

  6. IT 技术网站收集

    ## 脚本之家 http://www.jb51.net/ ## 菜鸟教程 http://www.runoob.com/ ## 编程中国 https://www.bccn.net/ ##

  7. Silverlight StoryBoard 动态切换ImageSource

    Silverlight StoryBoard 动态切换ImageSource <StackPanel Grid.Row="1" Orientation="Horiz ...

  8. Linux服务器上配置2个Tomcat或者多个Tomcat

    一.当在一个服务器上面安装2个tomcat的时候,修改第二个tomcat的conf目录下server.xml文件里面的端口号(原8080改成8081,原8005改成8006)可以达到两个tomcat都 ...

  9. try-catch+thows异常范围说明

    方式一: CatalogPO deleteTarget = null; /** 查询是否存在 **/ deleteTarget = catalogMapper.findByCatalogId(cata ...

  10. 创建template模板

    创建一个自己常用的快捷键的模板. 1.选择window-->preferrence--搜索temp--java 2.点击new 3.根据自己的习惯起一个名字 4.比如syso 5.语法不会,就找 ...