15. 备份恢复¶
1. 备份类型¶
# 热备:在数据库正常业务时备份数据,并且能够一致性恢复。
# 冷备:关闭数据库业务,数据库在没有任何变更的情况下备份。
# 温备:锁表备份,备份时只能查询不能修改。
2. 备份方式¶
# 逻辑备份:基于SQL语句的备份
mysqldump
mysqlbinlog
# 物理备份:基于磁盘文件的备份
cp
xtrabackup
3. 备份策略¶
# 全备:全库备份
# 增量:备份变化的数据
# 逻辑备份:mysqldump+mysqlbinlog
# 物理备份:xtrabackup
# 备份周期:根据数据量设计备份周期
4. mysqldump¶
4.1 通用参数¶
-u -p -h -P -S
4.2 备份专用参数¶
1.-A 全备
mkdir /backup
mysqldump -uroot -p -A >/backup/full.sql
注意:生产环境如果迁移的话,只迁移生产库,不迁移系统库!!!因为每个版本的系统库不一定相同
2.-B 单库多库备份
mysqldump -uroot -p -B oldboy world >/backup/bak.sql
3.单库单表多表备份(注意:恢复时,库必须事先存在,且use到库下!)
mysqldump -uroot -p world city >/backup/city.sql
mysqldump -uroot -p world city country >/backup/ci_co.sql
4.特殊参数1(必加!!!)
-R #备份存储过程及函数
--triggers #备份触发器
mysqldump -uroot -p -A -R --triggers >/backup/full.sql
5.特殊参数2
-F #在备份开始时,刷新一个新的binlog日志(产生大量二进制日志文件,有几个库就产生几个,少用)
--master-data=2 #以注释的形式,保存备份开始时间点的binlog状态信息(必加参数!!)
--single-transaction #对innodb可以不锁表热备,对非innodb可以实现自动锁表功能
mysqldump -uroot -p -A -R --triggers -F >/backup/full.sql
mysqldump -uroot -p -A -R --triggers --master-data=2 --single-transaction >/backup/full.sql
4.3 mysqldump备份策略¶
1.比较适合100G以下的数据量
2.原生态不支持增量备份
3.如果要实现增量,可以配合binlog实现
4.如果对于大数据量的数据库备份,可以从架构上拆分,分别备份
4.4 mysqldump优点¶
1.可读性强
2.文本形式备份,压缩比比较高
5. 基本完善的配置文件¶
vim /etc/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/application/mysql/data
socket=/application/mysql/tmp/mysql.sock
port=3306
log_error=/var/log/mysql.log
server_id=6
skip_name_resolve
secure-file-priv=/tmp
innodb_data_file_path=ibdata1:76M;ibdata2:50M:autoextend #根据实际大小填写
log_bin=/data/mysql/mysql-bin
binlog_format=row
slow_query_log=1
slow_query_log_file=/data/mysql/slow.log
long_query_time=0.01
log_queries_not_using_indexes
autocommit=0
[mysql]
socket=/application/mysql/tmp/mysql.sock
prompt=\\ccpsql [\\d]> # 自定义客户端命令行左侧的提示符
6. 基本完善的mysqldump备份语句¶
6.1 全库备份¶
mysqldump -uroot -p -R --triggers --master-data=2 --single-transaction -A >/backup/full.sql
6.2 多库备份¶
mysqldump -uroot -p -R --triggers --master-data=2 --single-transaction -B world oldboy>/backup/bak.sql
6.3 多表备份¶
mysqldump -uroot -p -R --triggers --master-data=2 --single-transaction world city country>/backup/ci_co.sql
最后更新:
2022-02-20 08:44:07