【实操记录】MySQL主从配置
本文使用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主从配置的更多相关文章
- MySql主从配置实践及其优势浅谈
MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my ...
- CentOS 7下的 Mysql 主从配置
最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为 ...
- Mysql主从配置+读写分离
Mysql主从配置+读写分离 MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...
- mysql 主从 配置和同步管理
首先呢,需要有两个mysql服务器.如果做测试的话可以在同一台机器上装两个mysql服务程序,注意要两个运行程序的端口不能一样.我用的是一个是默认的3306,从服务器用的是3307端口. 在主服务创建 ...
- mysql主从配置和galera集群
mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...
- mysql主从配置思路
记录一下 原文:http://www.rjfw.com.cn/qamain/prevView.action?id=40482017200000031 mysql主从配置(清晰的思路) mysql主从配 ...
- centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课
centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数 ...
- 解读mysql主从配置及其原理分析(Master-Slave)
在windows下配置的,后面会在Linux下配置进行测试,需要配置mysql数据库同步的朋友可以参考下. 1.在主数据库服务器为从服务器添加一个拥有权限访问主库的用户:GRANT REPLICATI ...
- MySQL主从配置详解
一.mysql主从原理 1. 基本介绍 MySQL 内建的复制功能是构建大型,高性能应用程序的基础.将 MySQL 的 数亿分布到到多个系统上去,这种分步的机制,是通过将 MySQL 的某一台主机的数 ...
- mysql主从配置详解(图文)
最近工作不是很忙,把以前整理的mysql数据库的主从配置过程记录一下,有不足之处,请各位多多纠正指教 #环境配置#master IP:192.168.46.137 slave IP:192.168.4 ...
随机推荐
- C数据结构:二叉树的基本操作
二叉树 树基本知识 二叉树的性质 满二叉树 完全二叉树 性质4.5的解释 顺序存储结构(利用性质4.5) 链式存储结构 结点结构体 建立二叉树 先序遍历 中序遍历 后序遍历 层次遍历 复制二叉树 计算 ...
- Pageoffice6 实现后台批量生成Word文档
在实际项目开发中经常会遇到后台动态生成文档的需求,目前网上有一些针对此需求的方案,如果您想要了解这些方案的对比,请查看后台生成单个Word文档中的"方案对比". 如果一次只生成一份 ...
- Java学习之旅(day.09)
封装 把数据包装起来,给你能看的,不能看的包装起来不让你看 该露的露,该藏的藏 程序设计要求"高内聚,低耦合". 高内聚指类的内部数据操作细节自己完成,不允许外部干涉: 低耦合指仅 ...
- AIRIOT答疑第6期|如何使用二次开发引擎?
灵活扩展,满足客户定制化需求 AIRIOT物联网低代码平台提供丰富的前端.后台服务二次开发接口,具备灵活的组件服务部署与管理能力,对任何功能模块进行二次开发,满足客户各类二次开发需求.支持多种 ...
- EDP .Net开发框架--WebApi
平台下载地址:https://gitee.com/alwaysinsist/edp 按分类管理EDP所提供的WebApi接口,以供其他应用调用.WebApi接口不仅可以进行访问控制管理,同时还提供了版 ...
- 用tkinter编写一个简单的登录注册界面
代码: from tkinter import * window = Tk() window.geometry('400x300+500+150') window.title('xxx系统') Can ...
- SpringAi
Spring AI 初学 Spring AI 官方地址 "spring 不生产 AI,只是 AI 工具的搬运工" 项目可以查看gitee Open AI 前期准备 Open AI官 ...
- Android 13 - Media框架(19)- ACodec(一)
关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节我们将会一起了解 ACodec 的设计方式,在看具体的实现细节前我们要先了解它内部的状态转换机制,这也是ACodec的核心难点之一. 1.AH ...
- Vue3.0极速入门(三) - 登录demo
Talk is cheap, Show the code · 在完成npm和vue的环境安装,并了解了基本的目录和文件结构以后,直接写一个带登录和首页的demo做示例,快速了解一个vue工程的创建和基 ...
- ansible 报错 "changed": false, "msg": "Failed to connect to the host
报错: "changed": false, "msg": "Failed to connect to the host via ssh: root@n ...