【实操记录】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 ...
随机推荐
- SQL Server实战七:自定义数据类型、标量值、内嵌表值、多语句表值函数的操作
本文介绍基于Microsoft SQL Server软件,实现数据库用户自定义数据类型的创建.使用与删除,以及标量值.内嵌表值.多语句表值函数等用户定义函数的创建.使用.删除方法. 目录 1 用S ...
- Sphinx 自动化文档
目录 文章目录 目录 Sphinx 入门 reStructuredText 语法格式 标题.列表.正文.要点 表格 代码块 引用其他模块文件 引用静态图片 Sphinx Sphinx 是一个工具,它使 ...
- pageoffice6 版本实现在线打开word 文件禁止保存、禁止另存、禁止打印的需求
在实际项目需求中,有时需要限制用户的保存.另存.打印文件操作,实现此效果只需在OnPageOfficeCtrlInit或AfterDocumentOpened事件中调用js设置PageOffice控件 ...
- 【知识点】深入浅出STL标准模板库
前几天谈论了许多关于数论和数据结构的东西,这些内容可能对初学者而言比较晦涩难懂(毕竟是属于初高等算法/数据结构的范畴了).今天打算来讲一些简单的内容 - STL 标准模板库. STL 标准模板库 C+ ...
- 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用 Selenium
https://learn.microsoft.com/zh-cn/microsoft-edge/webview2/how-to/webdriver
- ReplayKit 启动录制按钮 RPSystemBroadcastPickerView 的使用
一.RPSystemBroadcastPickerView 介绍 ReplayKit12自从iOS11公布以来,提供了iOS系统级别的录屏能力(也就是录制自身App以外,手机屏幕内容)的能力,有一个非 ...
- Canny边缘检测实现(Opencv C++)
Canny边缘检测是Canny在1986年提出来的,目前仍是图像边缘检测算法中最经典.先进的算法之一.canny方法基于如下三个基本目标: 1. 低错误率:所有边缘都应被找到,并且不应有虚假响应. 2 ...
- 【论文笔记】YOLO系列
[深度学习]总目录 YOLOv1:<You Only Look Once: Unified, Real-Time Object Detection>one-stage的开山之作,将目标检测 ...
- (C#) IIS 响应标头过滤敏感信息(如:Server/X-Powered-By等) 运维知识
背景: 再一次净网行动中,客户要求安全改造发现了接口请求的header标头中出现如图中的敏感信息. 说明: 其意义在于告知浏网站是用什么语言或者框架编写的.解决办法就是修改该响应头为一个错误的值,将攻 ...
- margin的用法 清除默认样式 display属性值 块状元素 内联元素 行内块元素
margin的用法: 1,margin是在元素的宽高以外的 2,作用:控制元素之间的位置关系 3,margin不能改变盒子本身大小的 4,单一一个方向设置margin值: margin-left ...