标签:4.4 ada 综合 tin mysql 场景 events info ack
关键词:mysql逻辑备份介绍,mysqldump
1、mysql逻辑备份介绍
【1.1】备份内容:数据库的结构定义语句+数据内容的插入语句,备份出来的文件可以编辑
【1.2】使用场景:数据量较少的库,比较适合100G数据量以内的
逻辑备份的特点
(1)sql语句组成的文件,可以编辑截取部分单独使用。
(2)备份文件比物理文件小
(3)可以细化到表/表的内容
(4)速度慢
(5)可以跨平台恢复/迁移
2、逻辑备份工具
【1.1】mysqldump(单线程)、mysqlpump(多线程,5.7以后才有):官方mysql备份工具
【1.2】mydumper:开源的基于mysqldump的一个优化,多线程,速度介于两者之间:主要用于Mariadb、Percona、官方的mysql
3、mysqldump工具介绍使用
备份可以包含的内容:
create database; create tables; insert into;
store procedure; trigger; function; events;
4、mysqldump常用参数释义
【4.1】服务器相关的常用参数
【4.1.1】mysqldump客户端读取 读取my.cnf下的 [client] 以及 [mysqldump]
【4.2.2】基本形式
mysqldump -uroot -p‘123456‘ -h192.168.1.105 -P3306
-u --user
-p --password
-h --host
-P --port
--protocol=tcp,socket,momory
--max-allowed-packet
--net-buffer-length
【4.2】备份内容的常用参数
#可以备份 #所有的库、几个库、一个库、一个表、几个表、一个表的内容、存储过程、函数、触发器、调度事件 -A --all -databases -B --databases #-B test test1备份test库也test1库 -y --all-tablespaces #备份所有表空间 -n --no-create-db #不导出数据库创建语句 -t --no-create-info #不到处表结构创建语句 -d --no-data #不导出数据,只导出表结构 -R --routines #不导出存储过程和函数,默认不导出 --triggers #导出触发器,默认导出 --skip-triggers #不导出触发器 -E --events #导出调度事件,默认不导出 --ignore-table #不导出某个库的某个表,或者不导出几个表test.test101 -w --where=‘‘ #导出满足条件的内容数据
【4.3】备份与实务和锁相关的选项
【1】--single-transaction #可以得到一致性的导出结果。只针对Innodb,导出过程中不允许运行表的DDL。因为实务持有表的metadata lock的共享锁,而DDL会申请元数据库的排它锁(X锁),所以会阻塞。 #--single-transaction还会关掉你默认的--lock-tables选项(即不加锁),因为mysqldump默认会打开一个lock-table锁住所有的表。那么只能加--master-data才能加锁。 【2】--lock-tables #默认打开的,在这个锁表时导一个锁一个,导完解锁。 【3】--lock-all-tables #会把所有的表都给锁了,慢慢导,导完解锁。【1】【2】【3】互斥。 【4】--flush-logs #导出数据时,刷新二进制日志,达到一致性导出。 【5】--flush-privileges #导出权限语句到备份文件 【6】--master-data #有3个值(0,1,2) (0):默认是0,不写入binlog日志记录 (1):在dump出来的文件中有这么个语句。change master to ...pos 等记录binlog文件及终点。 (2):#change master to ...pos 等记录binlog文件及终点。(注释掉)
【4.4】综合使用一下
mysqldump -uroot -p --single-transaction --master-data=2 --fulsh-privileges --routines
(4.12)mysql备份还原——mysql逻辑备份之mysqldump
标签:4.4 ada 综合 tin mysql 场景 events info ack
原文地址:https://www.cnblogs.com/gered/p/10817309.html