Linux环境下搭建 MySQL8 主从复制
文章目录
- 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 主从复制相关推荐
- 如何在linux环境下搭建Tor代理服务器
如何在linux环境下搭建Tor代理服务器 一.简介 首先, Tor官方提供已不再提供单独的Tor内核下载,只提供集成了Tor内核的Tor-Browser下载.Tor Browser 内置了Tor,f ...
- qt5.9支持linux,Linux环境下搭建Qt5.9开发环境
在Linux环境下搭建Qt开发环境有两种方式:一种是图形界面的安装,另一种是源代码的安装.下面,分别就这两种安装方式进行说明. 一.图形界面的安装. 1. 在QT官网下载Qt安装包,这里下载最新(20 ...
- Windows环境下安装HBase(Hadoop3.1.3、HBase2.2.5)与Linux环境下搭建HBase高可用集群
Windows环境下安装HBase 下载HBase 官网: https://hbase.apache.org/downloads.html 不同版本集合:https://archive.apache. ...
- 在Linux 环境下搭建 JDK 和 Tomcat
参考地址(华华老师):http://www.cnblogs.com/liulinghua90/p/4661424.html [在Linux环境下安装JDK] 1.首先下载一个JDK版本 官网地址:ht ...
- Windows和Linux环境下搭建SVN服务器
--------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...
- Linux环境下搭建Tomcat+mysql+jdk
Linux环境 1.下载并安装一个VMware workstation, 这个是虚拟机的平台(自行度娘下载~),虚拟机是在后面要在里面搭建Linux系统. 2.下载一个centos安装包,linux版 ...
- Linux环境下搭建Apache服务器(完整版)
Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权, ...
- 转载:linux环境下搭建discuz论坛
今天写一个Linux下搭建Discuz论坛的全过程教程. 本例使用的Linux系统为:RHEL5.3. 1.[root@linux ~]# mkdir /mnt/cdrom 2.[root@linux ...
- linux下 环境搭建教程,Linux环境下搭建pNFS使用环境教程
我用的是虚拟机虚拟pNFS Data Server . pNFS Metadata Server.pNFS Client,它们的IP如下: pNFS Data Server:192.168.245.1 ...
最新文章
- Go语言中的Struct
- Cydia for Android2
- Javascript中for循环
- Node.js与Sails~Model和ORM的持久化
- python语言学习笔记整理
- 使用mysqldump 导出sql数据
- 基于友善之臂ARM-ContexA9-ADC驱动开发
- c#设置开机自动启动程序本篇文章来源于:
- python8皇后不攻击问题_python 八皇后问题的解法(深度搜索)
- java 最少使用(lru)置换算法_[内附完整源码和文档] 基于C#的可视化虚拟存储器管理(LUR算法)...
- canvas.toDataURL()报错
- Javascript中call()和apply()的用法 ----1
- Windows Phone开发(25):启动器与选择器之WebBrowserTask 转:http://blog.csdn.net/tcjiaan/article/details/7404770...
- HashSet、TreeSet、LinkedHashSet的区别
- java7安装教程_JAVA JDK7安装和配置 JAVA JDK7安装配置教程
- 帝国(empire)作业
- 牛客小白月赛21 I.I love you
- 中国剩余定理(CRT)
- Redis源码分析(sds)
- [蓝桥杯2022初赛] 砍竹子