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

相关推荐
炬火初现30 分钟前
Etcd的安装与使用
数据库·etcd
IT猿手38 分钟前
2025最新群智能优化算法:云漂移优化(Cloud Drift Optimization,CDO)算法求解23个经典函数测试集,MATLAB
开发语言·数据库·算法·数学建模·matlab·机器人
程序员爱钓鱼42 分钟前
Go 语言高效连接 MySQL 数据库:从入门到实战
后端·mysql·go
雷渊43 分钟前
深入分析理解mysql的MVCC
java·数据库·面试
Paparazi灬1 小时前
RocksDB写流程各种场景下的处理逻辑和线程交互时序
数据库
白熊一号1 小时前
Hi, DeepSeek 带我通过实战学习SQL入门知识
sql·mysql
神经星星1 小时前
【vLLM 教程】使用 TPU 安装
数据库·人工智能·机器学习
hjehheje2 小时前
clickhouse查询效率低
数据库·人工智能
七七powerful2 小时前
ClickHouse 中出现 DB::Exception: Too many parts 错误
java·前端·数据库
Linux运维老纪3 小时前
Python实战项目(‌Hands-on Python Project)
开发语言·数据库·python·sql·mysql·云计算·运维开发