(1)工作原理

(2)主从实现

1) 环境介绍

cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

MySQL版本:5.7

mysql> select version();
+------------+
| version() |
+------------+
| 5.7.22-log |
+------------+

2) master端配置

  • 准备数据
mysql>	create database testdb;
mysql> create table testdb.t1(id int,name varchar(50));
mysql> insert into testdb.t1 values(1,'jack');
mysql> insert into testdb.t1 values(2,'alex');
  • 开启二进制日志和配置server-id
#vim /etc/my.cnf
log-bin
server-id=1
  • 重启数据库
#systemctl restart mysqld
  • 创建授权账号
mysql> grant replication slave,replication client on *.* to 'rep'@'192.168.111.%' identified by 'Reprep@123';
mysql> flush privileges;
  • 备份数据库
mysqldump -uroot -pRedhat@123 -A -R  --single-transaction --master-data=1 --flush-logs >$(date +%F)-mysql-all.sql
  • 把备份的数据库文件拷贝到从库主机上
scp -r 2018-04-26-mysql-all.sql root@192.168.111.152:/root
  • 在完整备份后在创建一些数据
mysql> insert into testdb.t1 values(3,'www');
mysql> insert into testdb.t1 values(4,'yyyy');

3)slave端配置

  • 验证主库创建的账号是否能够正常登陆,也验证是否有防火墙问题
# mysql -h192.168.111.151 -urep -p'Reprep@123'
  • 配置从库的server-id和设置从库只读

    注意应用程序连接从库的权限不要给所有权限,只让从库只读
#vim /etc/my.cnf
server-id=2
read-only
  • 重启数据库
#systemctl restart mysqld
  • 把备份导入到从库上:强烈建议使用source方法导入sql备份到从库中

    不建议使用mysql -uroot -pRedhat@123 </root/2018-04-26-mysql-all.sql,不然change master需要指定pos文件和位置点
mysql>source /root/2018-04-26-mysql-all.sql
  • 连接主库
mysql> change master to
-> master_host='192.168.111.151', \\生成环境建议使用主机名,不建议使用ip地址
-> master_user='rep',
-> master_password='Reprep@123';
  • 开启复制和验证状态
mysql> start slave;
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
  • 验证数据
mysql> select * from testdb.t1;
+------+------+
| id | name |
+------+------+
| 1 | jack |
| 2 | alex |
| 3 | www |
| 4 | yyyy |
+------+------+

(十三)MySQL主从复制的更多相关文章

  1. Linux 笔记 - 第二十三章 MySQL 主从复制配置

    一.前言 MySQL Replication,也被称为主从复制.AB 复制.简单来说就是 A 和 B 两台服务器做主从后,在 A 服务器上写入数据,B 服务器上也会跟着写入输入,两者之间的数据是实时同 ...

  2. MySQL主从复制(Master-Slave)实践

    MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展.多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能. 下图就描述了一个多个数 ...

  3. 2.快速部署MySQL主从复制

      1.快速部署MySQL主从复制 [root@mysql ~]# mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show slave ...

  4. MySQL 主从复制与读写分离概念及架构分析

    1.MySQL主从复制入门 首先,我们看一个图: 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中. 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的33 ...

  5. MySQL主从复制原理及配置详细过程以及主从复制集群自动化部署的实现

    一.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重 ...

  6. MySQL主从复制

    Mysql主从复制介绍 MySQL支持单向.双向.链式级联.实时.异步复制.在复制过程中,一台服务器充当服务器(Master),而一个或多个其它的服务器充当从服务器(Slave). 复制可以是单向:M ...

  7. mysql主从复制实现数据库同步

    mysql主从复制相信已经用得很多了,但是由于工作原因一直没怎么用过.趁着这段时间相对空闲,也就自己实现一遍.尽管互联网上已有大把类似的文章,但是自身实现的仍然值得记录. 环境: 主服务器:cento ...

  8. mysql主从复制配置

    使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3. ...

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

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

  10. Mysql主从复制,读写分离(mysql-proxy),双主结构完整构建过程

    下面介绍MySQL主从复制,读写分离,双主结构完整构建过程,不涉及过多理论,只有实验和配置的过程. Mysql主从复制(转载请注明出处,博文地址:) 原理是master将改变记录到二进制日志(bina ...

随机推荐

  1. regex & form validation & phone

    regex & form validation https://regexper.com/ https://gitlab.com/javallone/regexper-static https ...

  2. [剑指Offer] 42.和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. [思 ...

  3. [LeetCode] decode ways 解码方式

    A message containing letters fromA-Zis being encoded to numbers using the following mapping: 'A' -&g ...

  4. [NOIP2016]换教室 期望dp

    先弗洛伊德,然后把状态拆分遗传 #include<iostream> #include<cstdio> #include<cstring> #include< ...

  5. [8.16模拟赛] 玩具 (dp/字符串)

    题目描述 儿时的玩具总是使我们留恋,当小皮还是个孩子的时候,对玩具更是情有独钟.小皮是一个兴趣爱好相当广泛且不专一的人,这这让老皮非常地烦恼.也就是说,小皮在不同时刻所想玩的玩具总是会不同,而有心的老 ...

  6. linux 学习好资源

    Linux-Wiki.cn http://linux-wiki.cn/wiki/zh-hans/Linux%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84    Linux目录 ...

  7. linux查看操作系统是多少位

    有三种方法: 1.echo $HOSTTYPE 2.getconf LONG_BIT,此处不应该是getconf WORD_BIT命令,在64位系统中显示的是32 3.uname -a 出现" ...

  8. Js+CSS3实现手风琴效果

    效果截图: HTML代码: <div id="container"> <img src="images/photo01.jpg" alt=&q ...

  9. js+json实现ajax实例

    前期准备: 安装wampserver或者其他相似软件来搭建本地集成安装环境 html.js.css等文件需要放置在wampserver中的www目录中,默认运行index页面 bootstrap.cs ...

  10. Python基础(4)_集合、布尔类型

    一.集合 集合的作用一:关系运算集合的作用二:去重 定义集合:集合内的元素必须是唯一的:集合内的元素必须是可hash的,也是就不可变类型:集合是无序的 s={'egon',123,'egon','1' ...