文章目录

  • 1. 环境说明
  • 2. 主从同步解析
  • 3. MASTER 主节点配置
  • 4. SLAVE 从节点配置
  • 5. 配置同步某个库或者表

1. 环境说明

准备2台虚拟机,1主1从,分别安装MySQL。安装步骤这边就不赘述了,之前的文章有完整的步骤:https://blog.csdn.net/qq_28834355/article/details/108396968

实例 主/从
192.168.25.132
192.168.25.133

2. 主从同步解析

流程图

流程解析说明

  • 主从数据库的版本必须一致
  • 主节点必须启用二进制日志(bin-log),记录任何修改数据库数据的事件
  • 从节点连接主节点,并请求主节点bin-log的事件
  • 主节点检查bin-log,与从节点请求的位置对比。如果不带位置参数,则返回所有bin-log信息(全量);如果有带位置参数,则从该位置开始传输bin-log(增量)
  • 从节点将接收到的bin-log放入中继日志(relay-log),并记录同步的位置
  • 从节点启动启动另一个线程,读取并执行relay-log的事件

3. MASTER 主节点配置

在两个MySQL实例分别建一个test库,用于主从同步测试

修改配置文件

vim /etc/my.cnf

在 [mysqld] 部分加上如下配置:

#日志文件名称
log-bin=master-bin  #二进制日志格式,有row、statement、mixed三中类型
binlog-format=ROW#各个服务器的ID,不能相同
server-id=1#同步的数据库名称
binlog-do-db=test

创建用于同步的账号

创建账号 repl,密码 123456

mysql>create user 'repl'@'%' identified WITH mysql_native_password by '123456';
mysql>grant replication slave on *.* to 'repl'@'%';

刷新授权表信息

mysql>flush privileges;

重启数据库服务

service mysql restart

查看master信息(后面会用到)

mysql> show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000002 |      156 | test         |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

4. SLAVE 从节点配置

修改配置文件

vim /etc/my.cnf

在 [mysqld] 部分加上如下配置:

#日志文件名称(跟MASTER一致就行)
log-bin=master-bin#二进制日志格式,有row、statement、mixed三中类型
binlog-format=ROW##各个服务器的ID,不能相同
server-id=2#中继日志执行之后,这些变化是否记入自己的bin-log。当此SLAVE要作为另一个节点的MASTER,这个就必须打开
#log-slave-updates=true

重启数据库服务

service mysql restart

设置主节点参数

mysql> change master to master_host='192.168.25.132',master_user='repl',master_password='123456',master_port=3306,master_log_file='master-bin.000002',master_log_pos=156;
Query OK, 0 rows affected, 2 warnings (0.00 sec)

开启主从同步

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

如果需要停止主从同步,执行 stop slave;

查看状态

mysql> show slave status\G;

如果一切正常,应该是如下图所示,显示两个Yes

5. 配置同步某个库或者表

有两种方式,二选一

  • 在主库配置
#同步指定的库
binlog-do-db=xxxx
#忽略同步某个库
binlog-ignore-db=xxxx
  • 在从库配置
#设定需要复制的数据库
replicate-do-db=
#设定需要忽略的复制数据库
replicate-ignore-db=
#设定需要复制的表
replicate-do-table=
#设定需要忽略的复制表
replicate-ignore-table=
#同replication-do-table功能一样,但是可以通配符
replicate-wild-do-table=
#同replication-ignore-table功能一样,但是可以加通配符
replicate-wild-ignore-table=

Linux环境下搭建 MySQL8 主从复制相关推荐

  1. 如何在linux环境下搭建Tor代理服务器

    如何在linux环境下搭建Tor代理服务器 一.简介 首先, Tor官方提供已不再提供单独的Tor内核下载,只提供集成了Tor内核的Tor-Browser下载.Tor Browser 内置了Tor,f ...

  2. qt5.9支持linux,Linux环境下搭建Qt5.9开发环境

    在Linux环境下搭建Qt开发环境有两种方式:一种是图形界面的安装,另一种是源代码的安装.下面,分别就这两种安装方式进行说明. 一.图形界面的安装. 1. 在QT官网下载Qt安装包,这里下载最新(20 ...

  3. Windows环境下安装HBase(Hadoop3.1.3、HBase2.2.5)与Linux环境下搭建HBase高可用集群

    Windows环境下安装HBase 下载HBase 官网: https://hbase.apache.org/downloads.html 不同版本集合:https://archive.apache. ...

  4. 在Linux 环境下搭建 JDK 和 Tomcat

    参考地址(华华老师):http://www.cnblogs.com/liulinghua90/p/4661424.html [在Linux环境下安装JDK] 1.首先下载一个JDK版本 官网地址:ht ...

  5. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  6. Linux环境下搭建Tomcat+mysql+jdk

    Linux环境 1.下载并安装一个VMware workstation, 这个是虚拟机的平台(自行度娘下载~),虚拟机是在后面要在里面搭建Linux系统. 2.下载一个centos安装包,linux版 ...

  7. Linux环境下搭建Apache服务器(完整版)

    Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权, ...

  8. 转载:linux环境下搭建discuz论坛

    今天写一个Linux下搭建Discuz论坛的全过程教程. 本例使用的Linux系统为:RHEL5.3. 1.[root@linux ~]# mkdir /mnt/cdrom 2.[root@linux ...

  9. linux下 环境搭建教程,Linux环境下搭建pNFS使用环境教程

    我用的是虚拟机虚拟pNFS Data Server . pNFS Metadata Server.pNFS Client,它们的IP如下: pNFS Data Server:192.168.245.1 ...

最新文章

  1. Go语言中的Struct
  2. Cydia for Android2
  3. Javascript中for循环
  4. Node.js与Sails~Model和ORM的持久化
  5. python语言学习笔记整理
  6. 使用mysqldump 导出sql数据
  7. 基于友善之臂ARM-ContexA9-ADC驱动开发
  8. c#设置开机自动启动程序本篇文章来源于:
  9. python8皇后不攻击问题_python 八皇后问题的解法(深度搜索)
  10. java 最少使用(lru)置换算法_[内附完整源码和文档] 基于C#的可视化虚拟存储器管理(LUR算法)...
  11. canvas.toDataURL()报错
  12. Javascript中call()和apply()的用法 ----1
  13. Windows Phone开发(25):启动器与选择器之WebBrowserTask 转:http://blog.csdn.net/tcjiaan/article/details/7404770...
  14. HashSet、TreeSet、LinkedHashSet的区别
  15. java7安装教程_JAVA JDK7安装和配置 JAVA JDK7安装配置教程
  16. 帝国(empire)作业
  17. 牛客小白月赛21 I.I love you
  18. 中国剩余定理(CRT)
  19. Redis源码分析(sds)
  20. [蓝桥杯2022初赛] 砍竹子

热门文章

  1. 6、Power Query-SQL与PQ技术的强强联合
  2. 关于SAP的预留问题
  3. ABAP程序中调用不同类型的函数弹出不同的消息对话框
  4. 频频转型的蘑菇街,能讲好直播这个“老故事”吗?
  5. mysql数据库程序设_MySQL数据库程序设计
  6. 操作系统页面置换算法实验报告
  7. Pwntools的context设置与shellcode
  8. oracle数据库批量操作系统,Oracle批量操作数据库
  9. Python定义函数的三种方式
  10. python 用lambda表达式代替简单的函数, 匿名函数