mysql 主从二进制日志_Mysql-8 配置主从复制(基于二进制日志)
1. 实验环境
System
IP
Host
CentOS 7.4.1708
192.168.100.101
master
CentOS 7.4.1708
192.168.100.102
slave
2. 安装MySQL8
3. 配置主从复制
要想将主节点配置为使用基于二进制日志的复制,必须确保启用了二进制日志记录,并建立唯一的服务器ID
[root@master ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql # 这是数据存放的路径
socket=/var/lib/mysql/mysql.sock # 这是监听的套接字
log-error=/var/log/mysqld.log # 日志输出的路径
pid-file=/var/run/mysqld/mysqld.pid # pid存放的路径
log-bin=on # 开启二进制日志
server-id=1 # 服务器id为1
[root@slave ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
server-id=2
主节点server-id为0:拒绝来自从节点的任何连接
从节点server-id为0:拒绝连接到主节点
4. 配置复制用户
创建一个只能复制的用户。
mysql> CREATE USER 'repl'@'192.168.100.101' IDENTIFIED BY 'MyNewPass4!';
Query OK, 0 rows affected (0.02 sec)
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.100.101';
Query OK, 0 rows affected (0.06 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
5. 数据的同步
在配置之前,要注意的是,主节点现在的数据与从节点是不同步的,这可能导致复制失败,所以你可能需要将主节点的数据手动导入到从节点。在此你必须保证数据不被写入,所以你需要阻止写入。
# 这条命令会阻止对所有表的写入操作,但当前客户端断开,则会释放锁定
mysql> FLUSH TABLES WITH READ LOCK;
# 这条命令是确定当前二进制日志文件的名称和位置。
mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000002 | 866 | | | |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
6. 配置从节点
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.100.101', # 主节点地址
MASTER_USER='repl', # 主节点用户
MASTER_PASSWORD='MyNewPass4!', # 主节点密码
MASTER_LOG_FILE='binlog.000002', # 二进制日志文件
MASTER_LOG_POS=866; # 二进制日志位置
Query OK, 0 rows affected, 2 warnings (0.05 sec)
mysql> START SLAVE;
Query OK, 0 rows affected (0.04 sec)
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.100.101
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: binlog.000002
Read_Master_Log_Pos: 866
Relay_Log_File: slave-relay-bin.000003
Relay_Log_Pos: 319
Relay_Master_Log_File: binlog.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 866
Relay_Log_Space: 691
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: aa8d6cc4-5f26-11e9-b7d7-000c29999aa1
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
Master_public_key_path:
Get_master_public_key: 0
1 row in set (0.00 sec)
7. 测试主从复制
# 主节点
mysql> CREATE DATABASE REPL;
Query OK, 1 row affected (0.04 sec)
# 从节点
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| REPL |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.01 sec)
mysql 主从二进制日志_Mysql-8 配置主从复制(基于二进制日志)相关推荐
- MySQL主从同步详解与配置
https://zhuanlan.zhihu.com/p/335142300 MySQL主从同步详解与配置 第一部分[原理解析] * 应用背景* MySQL数据库自身提供的主从复制功能可以方便的实现数 ...
- 事物日志恢复 mysql_一种基于事务日志的Mysql数据恢复方法与流程
本发明涉及一种mysql数据恢复方法,尤其涉及一种基于事务日志的mysql数据恢复方法. 背景技术: :在对mysql数据库进行日常操作的过程中,总是无法避免会产生各种误删数据,误改数据等操作.这个时 ...
- mysql主备模型_MySQL主从复制 - 基于二进制日志(理论篇)
mysql日志类型 1 二进制日志 2 事务日志 3 一般查询日志 4 中继日志 5 慢查询日志 二进制日志 二进制日志通常记录的是可能潜在引起数据库发生改变的操作,每一 ...
- mysql主从有关参数_mysql主从复制配置
一.mysql主从备份(复制)的基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的 ...
- mysql 5.5 主从同步问题_MySQL 5.5 主从复制异步、半同步以及注意事项详解
大纲 一.前言 二.Mysql 基础知识 三.Mysql 复制(Replication) 四.Mysql 复制(Replication)类型 五.Mysql 主从复制基本步骤 六.Mysql 主从复制 ...
- mysql双主和主从的区别_MySQL群集,主从复制及双主模式
MySQL主从复制,是一个MySQL的群集,可以很好的解决的单点故障,并且可以进行读写分离来减轻数据库的压力.很多情况下主服务器仅作为写入数据服务器,而构建多个从节点来进行数据读取. 构建主从复制的几 ...
- mysql主从数据库设计_mysql数据库主从库镜像原理及配置
最近有个项目需要在vmware虚拟机上安装mysql,由于生产环境的要求需要有必要,如果做成VM虚机操作系统层HA,需要用到虚拟共享总线,而这将会使VM丧失vmtion特性.于是选择不做OS层的高可用 ...
- mysql 主从的作用_MySQL主从复制作用和原理
什么是主从复制 主从复制是用来建立一个和主数据库完全一样的数据库环境,称为从数据库:主数据库一般是准实时的业务数据库. 主从复制的作用 做数据的热备 作为后备数据库,主数据库故障后,可切换到从数据库继 ...
- mysql+主从同步端口_MySQL主从同步配置
MySQL主从同步 1. 主从同步的定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).因为复 ...
- mysql 主从单表_MySQL主从复制单表或者多表
MySQL数据库安装不过多的介绍了:必须保证2个数据库的版本一致. 主数据库:192.168.0.43 从数据库:192.168.0.53 修改43主数据库的配置文件: 打开logbin日志生成文件: ...
最新文章
- Linux shell 学习笔记(10)— 处理用户输入(命令行读取参数、读取用户输入、超时处理)
- exchange2003如何恢复邮件
- Android开发实战三之导入现有Android工程项目
- MySQL查询结果复制到新表(更新、插入)
- android 插补器Interpolator的使用
- php多条件筛选顺序_php多条件组合筛选
- mybatis 取查询值_Mybatis --- 映射文件、参数处理、参数值的获取、select元素
- java w732_技术联盟W732系统下载
- JAVA学习笔记-反射
- 管理小故事精髓 100例
- 【Node.js】Node.js安装及环境配置
- Quartus-II实现D触发器的三种方式
- HTML 区块、布局与框架
- 如何设置电脑的保护色?
- CS:APP第六章知识总结(内存、缓存、locality)
- 提高教育效率:教师如何制作智能学生成绩在线查询系统?
- linux系统上安装python工具的步骤
- 初始C语言-分支与循环语句
- 数字图像处理(1)-采样,量化,空间分辨率,灰度级分辨率
- 【U8】登录提示缺少根元素
热门文章
- 迷宫搜索问题最短路_迷宫的最短路问题(水+BFS宽搜)
- android bool定义,android-R.bool
- ir2104s的自举电容_电赛必备,IR2104S半桥驱动MOS管电机驱动板(PCB工程文件+磁悬浮代码)...
- php遍历一个目录 并重命名
- java第九章实验报告_2019JAVA第九次实验报告
- php ci如何保证数据安全,浅谈php(codeigniter)安全性注意事项
- ffplay android 编译,ffmpeg android 平台编译
- 美货币政策突变给中国高房价…
- PAT_B_1090_C++(25分)
- python函数里面引用外部变量_Python基础 变量进阶