本文使用MySQL原生支持的主从同步机制,详细记录了配置步骤及运维操作方法,可供大家直接参考、使用。

本文假设已经部署了两台主机的MySQL软件,且数据库服务正常,详细部署步骤可本站搜索:"mysql二进制安装包部署"

■■ 主从配置

■ master 授权同步账户

CREATE USER 'repl'@'10.19.238.241' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD by 'passwd';
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'10.19.238.241';
FLUSH PRIVILEGES;

■ master 修改配置文件

vim /etc/my.cnf

# 配置server id,建议采用ip地址最后一段以便于区分
server_id = 240
log_bin = master-bin
binlog_format = ROW # 作为从库时使用
relay_log = master-relay-bin # 作为从库时,来自主库的更新操作是否写入日志,默认值为OFF,配置 on 时,其他节点以此节点做主库时才能进行同步
log_slave_updates = on # 以下两个为可选选项,见字可知意
expire_logs_days = 7
max_binlog_size = 1G # 设置系统库的日志不计入binlog
# 注:Binlog_Do_DB/Binlog_Ignore_DB 两个参数互斥,一般只选择其一设置,只能在启动命令行中或配置文件中设置
binlog_ignore_db = mysql
binlog_ignore_db = sys
binlog_ignore_db = information_schema
binlog_ignore_db = performance_schema # 同步时忽略系统库,但 create user 时数据还是会同步的
replicate_ignore_db = mysql
replicate_ignore_db = sys
replicate_ignore_db = information_schema
replicate_ignore_db = performance_schema # 同步时忽略系统库的表,这样在 create user 时也不会进行同步了
replicate_wild_ignore_table = mysql.%
replicate_wild_ignore_table = sys.%
replicate_wild_ignore_table = information_schema.%
replicate_wild_ignore_table = performance_schema.%

■ master 服务重启

参见前文:"mysql二进制安装包部署"

■ slave 修改配置文件

vim /etc/my.cnf

同 master,只修改如下3项:

server_id = 25
log_bin = slave-bin
relay_log = slave-relay-bin

■ slave 服务重启

参见前文:"mysql二进制安装包部署"

■ master 查看 binlog 信息

show master status;

执行之后,可获取目前主库 binlog 使用的 File 及 Position 点,类似如下:

+-------------------+----------+--------------+-------------------------------------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+-------------------------------------------------+-------------------+
| master-bin.000007 | 157 | | mysql,sys,information_schema,performance_schema | |
+-------------------+----------+--------------+-------------------------------------------------+-------------------+

■ slave 设置复制信息

根据上一步获取到的信息(File 及 Position)配置从库的复制信息,在从库上执行如下命令

CHANGE MASTER TO MASTER_HOST='10.19.238.240',MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='passwd',MASTER_LOG_FILE='master-bin.000006',MASTER_LOG_POS=1195;

■ slave 开启复制

start slave;

■■ 常用操作

■ 查看主从复制状态

show slave status \G

主要查看下面两个参数状态,只要都是yes,表示主从通信正常:

Slave_IO_Running=Yes

Slave_SQL_Running=Yes

■ 启动/停止复制

start slave;

stop slave;

■ reset master;

在master上执行,作用:

删除binlog索引文件中列出的所有binlog文件

清空binlog索引文件

创建一个新的binlog文件

清空系统变量gtid_purged和gtid_executed

在MySQL 5.7.5 及后续版本中, RESET MASTER还会会清空 mysql.gtid_executed 数据表

■ reset slave;

在slave上执行,作用:

清除slave 复制时的master binlog的位置

清空master info, relay log info

删除所有的relay log文件,并创建一个新的relay log文件。

重置复制延迟(CHANGE MASTER TO 的 MASTER_DELAY参数指定的)为0

注:

RESET SLAVE 不会改变 gtid_executed or gtid_purged.

RESET SLAVE 不会改变复制连接使用的参数,例如 master host, master port, master user, or master password

如果要重置这些连接参数,需要使用命令:

RESET SLAVE ALL

重置操作之后,就需要使用 CHANGE MASTER TO 重新指定复制连接参数。

■ 注意事项

如果出现同步失败,可以根据提示处理错误,处理完成后,需要刷新同步配置:

先停止同步

stop slave sql_thread;

stop slave;

清理掉之前的配置,防止同步已经同步了的数据

reset slave all;

然后重新连接主库,进行同步。

■ 主从节点的重启步骤

停应用 ->停数据库(先备后主)-> 启数据库(先主后备)-> 启应用

1、关闭从库,在从库操作

a.先查看当前的主从同步状态 show slave status\G; 看是否双yes

b.执行stop slave

c.停止从库服务

d.查看是否还有mysql的进程ps -ef | grep mysql

2、关闭主库,在主库操作

a.停止主库服务

b.查看是否还有mysql的进程ps -ef | grep mysql

3、启动主库,在主库操作

a.启动主库服务

b.查看mysql的进程ps -ef | grep mysql

4、启动从库,在从库操作

a.启动从库服务

b.启动复制start slave;

c.检查同步状态 show slave status\G; 是否双yes

d.查看mysql的进程ps -ef | grep mysql

【实操记录】MySQL主从配置的更多相关文章

  1. MySql主从配置实践及其优势浅谈

    MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my ...

  2. CentOS 7下的 Mysql 主从配置

    最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为 ...

  3. Mysql主从配置+读写分离

    Mysql主从配置+读写分离     MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...

  4. mysql 主从 配置和同步管理

    首先呢,需要有两个mysql服务器.如果做测试的话可以在同一台机器上装两个mysql服务程序,注意要两个运行程序的端口不能一样.我用的是一个是默认的3306,从服务器用的是3307端口. 在主服务创建 ...

  5. mysql主从配置和galera集群

    mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...

  6. mysql主从配置思路

    记录一下 原文:http://www.rjfw.com.cn/qamain/prevView.action?id=40482017200000031 mysql主从配置(清晰的思路) mysql主从配 ...

  7. centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课

    centos  MySQL主从配置 ntsysv   chkconfig  setup命令  配置MySQL 主从 子shell  MySQL备份  kill命令  pid文件  discuz!论坛数 ...

  8. 解读mysql主从配置及其原理分析(Master-Slave)

    在windows下配置的,后面会在Linux下配置进行测试,需要配置mysql数据库同步的朋友可以参考下. 1.在主数据库服务器为从服务器添加一个拥有权限访问主库的用户:GRANT REPLICATI ...

  9. MySQL主从配置详解

    一.mysql主从原理 1. 基本介绍 MySQL 内建的复制功能是构建大型,高性能应用程序的基础.将 MySQL 的 数亿分布到到多个系统上去,这种分步的机制,是通过将 MySQL 的某一台主机的数 ...

  10. mysql主从配置详解(图文)

    最近工作不是很忙,把以前整理的mysql数据库的主从配置过程记录一下,有不足之处,请各位多多纠正指教 #环境配置#master IP:192.168.46.137 slave IP:192.168.4 ...

随机推荐

  1. SQL Server实战七:自定义数据类型、标量值、内嵌表值、多语句表值函数的操作

      本文介绍基于Microsoft SQL Server软件,实现数据库用户自定义数据类型的创建.使用与删除,以及标量值.内嵌表值.多语句表值函数等用户定义函数的创建.使用.删除方法. 目录 1 用S ...

  2. Sphinx 自动化文档

    目录 文章目录 目录 Sphinx 入门 reStructuredText 语法格式 标题.列表.正文.要点 表格 代码块 引用其他模块文件 引用静态图片 Sphinx Sphinx 是一个工具,它使 ...

  3. pageoffice6 版本实现在线打开word 文件禁止保存、禁止另存、禁止打印的需求

    在实际项目需求中,有时需要限制用户的保存.另存.打印文件操作,实现此效果只需在OnPageOfficeCtrlInit或AfterDocumentOpened事件中调用js设置PageOffice控件 ...

  4. 【知识点】深入浅出STL标准模板库

    前几天谈论了许多关于数论和数据结构的东西,这些内容可能对初学者而言比较晦涩难懂(毕竟是属于初高等算法/数据结构的范畴了).今天打算来讲一些简单的内容 - STL 标准模板库. STL 标准模板库 C+ ...

  5. 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用 Selenium

    https://learn.microsoft.com/zh-cn/microsoft-edge/webview2/how-to/webdriver

  6. ReplayKit 启动录制按钮 RPSystemBroadcastPickerView 的使用

    一.RPSystemBroadcastPickerView 介绍 ReplayKit12自从iOS11公布以来,提供了iOS系统级别的录屏能力(也就是录制自身App以外,手机屏幕内容)的能力,有一个非 ...

  7. Canny边缘检测实现(Opencv C++)

    Canny边缘检测是Canny在1986年提出来的,目前仍是图像边缘检测算法中最经典.先进的算法之一.canny方法基于如下三个基本目标: 1. 低错误率:所有边缘都应被找到,并且不应有虚假响应. 2 ...

  8. 【论文笔记】YOLO系列

    [深度学习]总目录 YOLOv1:<You Only Look Once: Unified, Real-Time Object Detection>one-stage的开山之作,将目标检测 ...

  9. (C#) IIS 响应标头过滤敏感信息(如:Server/X-Powered-By等) 运维知识

    背景: 再一次净网行动中,客户要求安全改造发现了接口请求的header标头中出现如图中的敏感信息. 说明: 其意义在于告知浏网站是用什么语言或者框架编写的.解决办法就是修改该响应头为一个错误的值,将攻 ...

  10. margin的用法 清除默认样式 display属性值 块状元素 内联元素 行内块元素

    margin的用法: 1,margin是在元素的宽高以外的 2,作用:控制元素之间的位置关系 3,margin不能改变盒子本身大小的 4,单一一个方向设置margin值: margin-left    ...