You've already forked www.colben.cn
update
This commit is contained in:
86
content/post/mysql-binlog.md
Normal file
86
content/post/mysql-binlog.md
Normal file
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: "Mysql 二进制日志"
|
||||
date: 2019-10-30T11:05:08+08:00
|
||||
lastmod: 2019-10-30T11:05:08+08:00
|
||||
keywords: []
|
||||
tags: ["mysql", "binlog"]
|
||||
categories: ["database"]
|
||||
---
|
||||
|
||||
# MySQL 5.7 开启 binlog
|
||||
- 修改 my.cnf 文件
|
||||
```
|
||||
[mysqld]
|
||||
log-bin=[/存放目录/]mysql-bin #注意 mysql 可读写“存放目录”,默认数据存放目录
|
||||
expire-logs-days=7 #保留7天内修改过的 binglog 文件
|
||||
max-binlog-size=512M #单个 binlog 文件大小上限,默认1G
|
||||
#指定或忽略要复制的数据库,存在跨库问题
|
||||
binlog-do-db=db1
|
||||
binlog-db-db=db2
|
||||
#binlog-ignore-db=db1
|
||||
#binlog-ignore-db=db2
|
||||
```
|
||||
|
||||
# 常用操作
|
||||
- 查看所有 binlog 文件列表
|
||||
```sql
|
||||
show master logs;
|
||||
```
|
||||
- 查看 master 状态,包含最新 binlog 文件名和 position
|
||||
```sql
|
||||
show master status;
|
||||
```
|
||||
- 清除过期 binlog 文件,并使用新编号的 binlog 文件开始记录日志
|
||||
```sql
|
||||
flush logs;
|
||||
```
|
||||
- 删除 binlog 文件
|
||||
- 删除旧的 binlog 文件
|
||||
```sql
|
||||
purge master logs to 'mysql-bin.000573';
|
||||
purge master logs before '2018-04-18 06:00:00';
|
||||
purge master logs before DATE_SUB(NOW(), INTERVAL 2 DAY);
|
||||
```
|
||||
- 清空所有 binlog 文件
|
||||
```sql
|
||||
reset master
|
||||
```
|
||||
|
||||
# 使用 mysqlbinlog 命令查看 binlog 文件的内容
|
||||
- 使用
|
||||
```bash
|
||||
# 查看日志
|
||||
mysqlbinlog [选项] binlog文件名
|
||||
# 恢复数据
|
||||
mysqlbinlog [选项] binlog文件名 | mysql -u用户名 -p密码 -D数据库 [-v]
|
||||
```
|
||||
- 常用选项
|
||||
- --start-position=128 起始 pos
|
||||
- --stop-position=256 结束 pos
|
||||
- --start-datetime="2018-08-08 00:00:00" 起始时间
|
||||
- --stop-datetime="2018-08-09 12:00:00" 结束时间
|
||||
- --database=db_name 只恢复 db_name 数据库
|
||||
|
||||
# 使用 sql 查看 binlog 文件的内容
|
||||
- 查询语句
|
||||
```sql
|
||||
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];
|
||||
```
|
||||
- 选项
|
||||
- log_name binlog文件名,默认第一个 binlog 文件
|
||||
- pos 查询起始 pos,默认 log_name 中的第一个 pos
|
||||
- offset 偏移 pos 个数
|
||||
- row_count 查询数量
|
||||
|
||||
# 调整 binlog_cache_size
|
||||
- 查看当前 binlog_cache_size 大小(byte),默认 32k
|
||||
```sql
|
||||
show variables like 'binlog_cache_size';
|
||||
```
|
||||
- 查看当前 binlog_cache_use 和 binlog_cache_disk_use 次数
|
||||
```sql
|
||||
show status like 'binlog_cache%';
|
||||
-- binlog_cache_disk_use 使用临时文件写 binlog 文件的次数
|
||||
-- binlog_cache_use 使用缓存写 binlog 文件的次数
|
||||
```
|
||||
|
Reference in New Issue
Block a user