mysql-DBA(1)-数据库备份恢复-导入导出-日志解释

1.备份类型

log: hdd

data :ssd

2.数据库工具

3.逻辑备份和物理备份

,备份和导出都慢,缓冲池有污染。

逻辑备份:把所有的命令转换成sql语句。


修改配置文件:

3.1MySQLDUMP

-A 备份所有

-B 备份哪个数据库

--master-data=1 同步

复制代码
#备份 数据库表 test 到aaa  保存到文本 backup.sql中
mysqldump --single-transaction -B test aaa  >backup.sql

内容:

备份参数:

1.备份成文件,里面就是sql语句

2.routine:

3.trigger 触发器

4.event: 定时任务

5.-B 数据库


1.有-B 表示备份数据库 test 为 数据库 aaa 备份的结果是:backup.sql

tar czf backup20170509.tar.gz backup.sql

lz4_decompress

qpress

2.只备份一张表的话:

没有-B 表示备份的是数据库test 下面的表aaa

3.直接输出为一个备份文件,且是压缩过的。

4.-w 备份条件 -w"C=12"

3.2 备份示例

=1记录所有操作.

3.3xtrabackup

4.导入导出

从表sbtestl 中导出数据到 sbtest.dat,id <1000000;

设置文件: set global secure_file_priv='/tmp/';

打开文件: vim /etc/my.cnf

重启mysql

1.选择数据库sbtest

2.选择数据表,导出数据。

3.导出的目录: /tmp/下

4.1导出

4.2导入

5.性能优化



MYSQL复制


6.Mysql日志

物理复制:数据一致。

逻辑一致: 100万行,但数据不一定一致。

二进制日志:

是否打开二进制日志?

vim /etc/my.cnf

log_bin=bin //二进制日志都是以bin 为开头的

cd /mdata/mysql_test_data/

bin.000099 6位-7位 不会循环

bin.0000100

1.生成日志

1.操作行为:显示日志:show master status;

2.刷新日志:flush binary logs;

3.操作行为:显示日志 show master status

2.查看日志内容:

原始日志:

结束:rotate

表中插入2个数据,

未操作前:

操作以后 事务变成487 产生了333个字节。

查看日志 show binlog events in 'bin.000025';

1.事件类型说明:

query:执行sql语句

table_map:id=284

write_rows:插入记录 不是sql语句

Xid:提交,事务号

2.解析日志:mysqlbinlog bin.000025

这行记录:base64方便传输

看具体内容的命令:

通过帮助查找参数:mysqlbinlog --help | less

--base64-ouput=never 表示不输出。

--base64-ouput=decode-rows -v 表示解析每行的数据。

这不是sql语句,执行不了的。

insert不行

replace一条记录:值已经改了。

查看 :mysqlbinlog --base64-output=decode-rows -v bin.000025

mysqlbinlog --base64-oytput=decode-rows -vv bin.000025

insert into a values(400,400);

mysqlbinlog --base64-output=decode-rows -v bin.000026

delete from a where a<400;

query开始

Write_rows 变成 Delete_rows:

update a set b=500 where b=400;

缺点:大。

优点:一致。

set binlog_format='statement';

update a set b=500 where b=400;

看日志只能看到每行的记录,但是不能看到执行的sql语句。如何知道每行操作的sql语句?

设置参数为1

示例:

用数据库 aaa,

1.插入数据(100,100)

2.插入数据(200,200)

3.更新 a 设置b=400

日志:

在写之前有个rows_query类型

相关推荐
.Shu.3 分钟前
Redis Reactor 模型详解【基本架构、事件循环机制、结合源码详细追踪读写请求从客户端连接到命令执行的完整流程】
数据库·redis·架构
Bruce_Liuxiaowei2 小时前
MySQL完整重置密码流程(针对 macOS)
mysql
麦麦大数据2 小时前
F003疫情传染病数据可视化vue+flask+mysql
mysql·flask·vue·大屏·传染病
薛晓刚3 小时前
当MySQL的int不够用了
数据库
SelectDB技术团队3 小时前
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
数据库·数据仓库·数据分析·apache doris·菜鸟技术
星空下的曙光3 小时前
mysql 命令语法操作篇 数据库约束有哪些 怎么使用
数据库·mysql
小楓12013 小时前
MySQL數據庫開發教學(一) 基本架構
数据库·后端·mysql
染落林间色4 小时前
达梦数据库-实时主备集群部署详解(附图文)手工搭建一主一备数据守护集群DW
数据库·sql
之诺4 小时前
MySQL通信过程字符集转换
后端·mysql
颜颜yan_4 小时前
企业级时序数据库选型指南:从传统架构向智能时序数据管理的转型之路
数据库·架构·时序数据库