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

相关推荐
abc123456sdggfd5 分钟前
HTML5中Vuex持久化插件中WebStorage的底层配置
jvm·数据库·python
pele7 分钟前
Go语言如何发GET请求_Go语言HTTP GET请求教程【总结】
jvm·数据库·python
weixin_580614008 分钟前
Go 语言中 go install 命令的正确用法与常见误区详解
jvm·数据库·python
qq_654366989 分钟前
Bootstrap 5移除jQuery依赖 Bootstrap 5如何不使用jQuery
jvm·数据库·python
m0_6765443811 分钟前
CSS如何实现元素悬浮在页面底部_利用fixed定位与底部间距
jvm·数据库·python
weixin_5689960611 分钟前
Redis怎样监控当前发生了多少次内存驱逐
jvm·数据库·python
2301_7965885012 分钟前
CSS如何制作导航栏平滑移动_使用transition与left属性
jvm·数据库·python
2301_8038756113 分钟前
C#怎么清空Dictionary字典_C#如何管理内存集合【基础】
jvm·数据库·python
Greyson114 分钟前
CSS项目开发如何提速_应用BEM规范建立可复用的样式库.txt
jvm·数据库·python