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类型

相关推荐
余~~185381628003 分钟前
矩阵碰一碰发视频源码技术解析,支持OEM
数据库·microsoft
罗政19 分钟前
PDF书籍《手写调用链监控APM系统-Java版》第9章 插件与链路的结合:Mysql插件实现
java·mysql·pdf
张声录134 分钟前
【ETCD】【实操篇(十五)】etcd集群成员管理:如何高效地添加、删除与更新节点
数据库·etcd
天乐敲代码34 分钟前
Etcd静态分布式集群搭建
数据库·分布式·etcd
chengma_09090935 分钟前
MySQL 数据库连接数查询、配置
数据库·mysql
林农1 小时前
C05S14-MySQL高级语句
linux·mysql·云计算
TDengine (老段)1 小时前
两分钟掌握 TDengine 全部写入方式
大数据·数据库·时序数据库·tdengine·涛思数据
码农君莫笑1 小时前
《信管通低代码信息管理系统开发平台》Windows环境安装说明
服务器·数据库·windows·低代码·c#·bootstrap·.netcore
北欧人写代码1 小时前
MySQL 数据库备份与恢复
mysql