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 配置主从复制(基于二进制日志)相关推荐

  1. MySQL主从同步详解与配置

    https://zhuanlan.zhihu.com/p/335142300 MySQL主从同步详解与配置 第一部分[原理解析] * 应用背景* MySQL数据库自身提供的主从复制功能可以方便的实现数 ...

  2. 事物日志恢复 mysql_一种基于事务日志的Mysql数据恢复方法与流程

    本发明涉及一种mysql数据恢复方法,尤其涉及一种基于事务日志的mysql数据恢复方法. 背景技术: :在对mysql数据库进行日常操作的过程中,总是无法避免会产生各种误删数据,误改数据等操作.这个时 ...

  3. mysql主备模型_MySQL主从复制 - 基于二进制日志(理论篇)

    mysql日志类型 1    二进制日志 2    事务日志 3    一般查询日志 4    中继日志 5    慢查询日志 二进制日志 二进制日志通常记录的是可能潜在引起数据库发生改变的操作,每一 ...

  4. mysql主从有关参数_mysql主从复制配置

    一.mysql主从备份(复制)的基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的 ...

  5. mysql 5.5 主从同步问题_MySQL 5.5 主从复制异步、半同步以及注意事项详解

    大纲 一.前言 二.Mysql 基础知识 三.Mysql 复制(Replication) 四.Mysql 复制(Replication)类型 五.Mysql 主从复制基本步骤 六.Mysql 主从复制 ...

  6. mysql双主和主从的区别_MySQL群集,主从复制及双主模式

    MySQL主从复制,是一个MySQL的群集,可以很好的解决的单点故障,并且可以进行读写分离来减轻数据库的压力.很多情况下主服务器仅作为写入数据服务器,而构建多个从节点来进行数据读取. 构建主从复制的几 ...

  7. mysql主从数据库设计_mysql数据库主从库镜像原理及配置

    最近有个项目需要在vmware虚拟机上安装mysql,由于生产环境的要求需要有必要,如果做成VM虚机操作系统层HA,需要用到虚拟共享总线,而这将会使VM丧失vmtion特性.于是选择不做OS层的高可用 ...

  8. mysql 主从的作用_MySQL主从复制作用和原理

    什么是主从复制 主从复制是用来建立一个和主数据库完全一样的数据库环境,称为从数据库:主数据库一般是准实时的业务数据库. 主从复制的作用 做数据的热备 作为后备数据库,主数据库故障后,可切换到从数据库继 ...

  9. mysql+主从同步端口_MySQL主从同步配置

    MySQL主从同步 1. 主从同步的定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).因为复 ...

  10. mysql 主从单表_MySQL主从复制单表或者多表

    MySQL数据库安装不过多的介绍了:必须保证2个数据库的版本一致. 主数据库:192.168.0.43 从数据库:192.168.0.53 修改43主数据库的配置文件: 打开logbin日志生成文件: ...

最新文章

  1. Linux shell 学习笔记(10)— 处理用户输入(命令行读取参数、读取用户输入、超时处理)
  2. exchange2003如何恢复邮件
  3. Android开发实战三之导入现有Android工程项目
  4. MySQL查询结果复制到新表(更新、插入)
  5. android 插补器Interpolator的使用
  6. php多条件筛选顺序_php多条件组合筛选
  7. mybatis 取查询值_Mybatis --- 映射文件、参数处理、参数值的获取、select元素
  8. java w732_技术联盟W732系统下载
  9. JAVA学习笔记-反射
  10. 管理小故事精髓 100例
  11. 【Node.js】Node.js安装及环境配置
  12. Quartus-II实现D触发器的三种方式
  13. HTML 区块、布局与框架
  14. 如何设置电脑的保护色?
  15. CS:APP第六章知识总结(内存、缓存、locality)
  16. 提高教育效率:教师如何制作智能学生成绩在线查询系统?
  17. linux系统上安装python工具的步骤
  18. 初始C语言-分支与循环语句
  19. 数字图像处理(1)-采样,量化,空间分辨率,灰度级分辨率
  20. 【U8】登录提示缺少根元素

热门文章

  1. 迷宫搜索问题最短路_迷宫的最短路问题(水+BFS宽搜)
  2. android bool定义,android-R.bool
  3. ir2104s的自举电容_电赛必备,IR2104S半桥驱动MOS管电机驱动板(PCB工程文件+磁悬浮代码)...
  4. php遍历一个目录 并重命名
  5. java第九章实验报告_2019JAVA第九次实验报告
  6. php ci如何保证数据安全,浅谈php(codeigniter)安全性注意事项
  7. ffplay android 编译,ffmpeg android 平台编译
  8. 美货币政策突变给中国高房价…
  9. PAT_B_1090_C++(25分)
  10. python函数里面引用外部变量_Python基础 变量进阶