@

1、MySQL一主一从的简单搭建

1.1、主从复制简介

在实际生产中,数据的重要性不言而喻。如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,如果服务器宕机或者损坏了,那么整个数据库的数据就丢失了,这是重大的安全事故。所有我们必须部署两台或两台以上的服务器来存储我们的数据。也就是说我们将数据复制多份放在不同的服务器上。当某台服务器宕机后其他服务器还能提供服务。

1.2、MySQL主从复制简介

主从复制是指服务器分为主服务器和从服务器,主服务器负责读和写,从服务器只负责读,主从复制也叫 master/slave,master是主,slave是从,但是并没有强制,也就是说从也可以写,主也可以读,只不过一般我们不这么做。主从复制可以实现对数据库备份和读写分离。

1.3、主从复制的架构

1.4、前期准备

  1. 需要两台或者两台以上的服务器或者虚拟机
  2. 保证每台服务器上已经安装好了mysql并且能正常启动

1.5、主要配置实现

1.5.1、测试环境

主服务器ip:176.20.92.71

从服务器ip:176.20.92.73

MySQL版本:5.7.18

Linux版本:centos7

1.5.2、配置my.cnf文件

注意:如果没有这个配置文件的话可以自己在数据库的data目录下新建一个这个文件然后添加如下配置

[client]
port = 3306
socket = /usr/local/mysql-5.7.18/data/mysql.sock
default-character-set=utf8 [mysqld]
port = 3306
socket = /usr/local/mysql-5.7.18/data/mysql.sock
datadir = /usr/local/mysql-5.7.18/data
log-error = /usr/local/mysql-5.7.18/data/error.log
pid-file = /usr/local/mysql-5.7.18/data/mysql.pid character-set-server=utf8
lower_case_table_names=1
autocommit = 1

注意 /usr/local/mysql-5.7.18/data 是自己服务器数据库的的data路径

1.5.3、启动mysql测试

这里不是正常启动,而是通过my.cnf这个配置文件启动mysql

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/my.cnf &

主从两边启动都成功后,需要登录mysql进行测试

./mysql -uroot -h127.0.0.1 -p

主从两边都登录成功后再进行下面的配置

1.5.4、配置主从结构

1.5.4.1、主服务器配置

在my.cnf文件中加入如下配置,然后重新启动mysql

log-bin=mysql-bin   	#表示启用二进制日志
server-id=71 #表示server编号,编号要唯一

登入mysql输入如下命令

在主服务器上创建复制数据的账号并授权

grant replication slave on *.* to 'copy'@'%' identified by '123456';

查看主服务器状态 默认初始值:

File:mysql-bin.000001

Position:154

show master status;



如果不是初始值,是因为设置了copy用户导致Position数据增加 需要重置一下状态

重置状态

reset master;

重置之后再次查看状态



到这里主服务器的配置就完成了,下面来进行从服务器的配置

1.5.4.2、从服务器配置

在my.cnf文件中加入如下配置,然后重新启动mysql

server-id=73 		#表示server编号,编号要唯一

登入mysql输入如下命令

查看服务器状态 初始状态:Empty set

show slave status;

如果不是初始状态,建议重置一下

重置命令如下

stop slave; 	#停止复制,相当于终止从服务器上的IO和SQL线程
reset slave;

设置从服务器的master

change master to master_host='176.20.92.71',master_user='copy',

master_port=3306,master_password='123456',

master_log_file='mysql-bin.000001',master_log_pos=154;

执行开始复制

start slave;

查看主从复制是否搭建完成

show slave status \G



如果 Slave_IO_Running: 为no 执行如下命令

stop slave;
reset slave;
start slave;

在此mysql的主从复制搭建就完成了,下面来进行测试

1.6、主从复制测试

在主服务器中建立一个testdb数据库



在主服务器的testdb中建立一个t_user表



可以发现主服务器建立t_user表从服务器也会自动创建t_user表

在主服务器中添加值



可以发现主服务器的表中添加了值,从服务器中的表中也会添加一模一样的值

在此mysql主从复制的简单搭建就全部完成了

MySQL主从复制的简单搭建的更多相关文章

  1. mysql主从复制(简单直观)

    mysql主从复制   mysql主从复制(超简单) 怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 1.主从服务器分别作以下操作:  1.1.版本一致  1.2.初始化表,并在后 ...

  2. 【MySQL主从复制原理及搭建全过程】

    目录 准备工作 主从复制原理 开始搭建主从复制 本文将使用mariaDB数据库实现主从复制,其步骤与MySQL数据库无差异. MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护, ...

  3. Mysql主从复制原理及搭建

    ## Mysql主从复制原理 主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中.对于多级复制,数据库服务器即可充当主机,也可充当从 ...

  4. Mysql 集群环境搭建

    在上一篇文章中已经详细的写了关于Mysql的安装步骤.这一篇文章在上一篇文章的基础之上接着写集群的安装与部署. 安装地址:https://www.cnblogs.com/ming-blogs/p/10 ...

  5. Docker实战之MySQL主从复制

    前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的 ...

  6. 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构

    一.业务发展驱动数据发展 随着网站业务的不断发展,用户量的不断增加,数据量成倍地增长,数据库的访问量也呈线性地增长.特别是在用户访问高峰期间,并发访问量突然增大,数据库的负载压力也会增大,如果架构方案 ...

  7. (转)MySQL 主从复制搭建,基于日志(binlog

    原文:http://blog.jobbole.com/110934/ 什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数 ...

  8. my03_使用空数据库搭建Mysql主从复制

    无数据的主从复制,就搭建一套主从结构的空库,这个是最简单的,先说说这种主从的搭建思路,有利于理解Mysql主从复制1. 安装两套mysql单实例数据库,一个作为主库.一个作为从库:注意要设置两个数据库 ...

  9. Docker搭建MySQL主从复制

    Docker搭建MySQL主从复制 主从服务器上分别安装Docker 1.1 Docker 要求 CentOS 系统的内核版本高于 3.10 [root@localhost ~]# uname -r ...

  10. MySQL主从复制--单库复制搭建

    背景说明 负责公司MySQL数仓的搭建和维护,因为前端业务涉及到一次业务表的分库,导致整个平台新增加一台MySQL服务器,需要将该库数据通过主从复制同步至原有的数仓实例. 数据流向说明如下图: 业务环 ...

随机推荐

  1. logstash 添加nginx日志

    选择需求分类废话少说直接上图 第一张图: 2.此图搭配的日志格式是: log_format main '$remote_addr - $remote_user [$time_local] $http_ ...

  2. Leap Motion发布新平台,直击下一代移动端VR/AR手部追踪

    2013年,动作捕捉技术公司Leap Motion发布了面向PC的体感控制器,不过销量并不乐观.随着2014年虚拟现实技术的再一次兴起,它发布一款用于Oculus Rift的附加设备,从而正式登上VR ...

  3. GitHub在Visual Studio 2015中获得TFS/VSO同等地位

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 在Visual Studio 2015中微软为GitHub提供了扩展插件,从而让GitHub ...

  4. cocos2dx中的用户数据的管理

    提供了专门的类:CCUserDefault用来管理,且提供了单例方法:sharedUserDefault() 1.会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.w ...

  5. TypeScript入门-泛型

    泛型 要创建一个可重用的组件,其中的数据类型就必须要兼容很多的类型,那么如何兼容呢,TypeScript提供了一个很好的方法:泛型 Hello World 要兼容多种数据格式,可能会有人想到any,即 ...

  6. 美团小程序框架mpvue入门

    mpvue 主要特性 使用 mpvue 开发小程序,你将在小程序技术体系的基础上获取到这样一些能力: 1. 彻底的组件化开发能力:提高代码复用性 2. 完整的 Vue.js 开发体验 3. 方便的 V ...

  7. Vue组件通信

    单向数据流通信 单向数据流通信是指父组件传递数据给子组件,子组件是不可以修改该数据的(可以改,但会警告) 父组件通过自定义属性传递数据给子组件,子组件使用props接收 如果想修改数据,子组件需要使用 ...

  8. Not Found woff 字体库

    原因是,默认在IIS上是没有添加对*.woff,*.svg文件的Mime类型,因此在客户端请求此类文件时得到的都是404. 所以我们只需要在我们对应网站下的Mime类型中添加文件对应的类型就行了 .w ...

  9. 解决 linux 下面解压缩 中文文件名乱码问题的方法 unzip -O CP936

    Linux 解压缩 zip包中文目录出现乱码的问题. 出现问题如图示: unzip -O CP936 xxx.zip 用这种方式处理一下就好了.

  10. 剑指Offer-从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 思路 使用两个队列一个存放节点,一个存放值.先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子 ...