当前位置: 首页>前端>正文

mysql_dump 备份全库 忽略错误 mysqldump全量备份

mysql逻辑备份典型工具代表是mysqldump,一般数据量不大的情况通过mysqldump进行定时全量逻辑备份完全能够胜任。下面我们就演示如何使用mysqldump实现逻辑全量备份。

mysqldump-备份

 官方文档:https://dev.mysql.com/doc/refman/5.6/en/mysqldump.html

备份命令:

mysqldump \
-hlocalhost \
-P3306 \
-uroot \
--single-transaction \
--flush-logs \
--events \
--master-data=2 \
--routines \
--triggers \
--flush-privileges \
--default-character-set=utf8 \
--databases test_backup > /opt/backup/mysql/logic/full/`date +%Y-%m-%d`.sql

mysql_dump 备份全库 忽略错误 mysqldump全量备份,mysql_dump 备份全库 忽略错误 mysqldump全量备份_sql,第1张

--single-transaction: 基于InnoDB表保证数据一致性,但不要同时使用--lock-all-tables或--lock-table; --master-data=2: 记录备份那一时刻的二进制日志的位置(-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000008', MASTER_LOG_POS=154;这行语句),并且注释掉,1是不注释的;---databases: 指定导出的数据库,注意--all--databases可以导出所有数据库,但是要注意很多mysql默认数据库会缺失,比较多坑;

--flush-logs:在开始转储之前(一般在锁住表后备份前)新创建一个MySQL二进制日志文件,例如mysql-bin.000005通过flush-logs命令后目录下会多一个mysql-bin.000006,并且新的日志会写到新创建的000006文件下。这个命令很有作用,可以避免从文件中间进行操作。。

--routines:从转储的数据库转储存储的例程(过程和函数)

--triggers:备份表相关触发器

--events:备份事件信息

--flush-privileges:导出mysql数据库权限,虽然这里没什么用,一般生产配合--all-databases一起使用。

mysqldump-恢复

注意,建议根据前面文章【理解Mysql备份和恢复】恢复指导思想进行操作,下面模拟发生数据库故障导致数据损坏

rm -rf /usr/local/mysql/data/test_backup/*

mysql_dump 备份全库 忽略错误 mysqldump全量备份,mysql_dump 备份全库 忽略错误 mysqldump全量备份_mysql_02,第2张

 

开始模拟恢复数据。

1、关闭mysql服务

由于mysqldump不能真正关闭mysql服务,所以这里关闭意义是关闭外部访问,可以修改配置文件my.cnf添加配置skip-networking然后重启mysql服务

2、开始恢复

# 根据恢复指导思想,需要对故障数据库现场保留一份

tar -zcvf mysql.tar.gz /usr/local/mysql

# 必须先删除故障数据库

drop database test_backup;

# 再手工创建

create database test_backup;

# 关闭二进制日志记录,防止重复记录

set sql_log_bin=0;

source /opt/backup/mysql/logic/full/2019-09-09.sql;

# 开启二进制日志记录

set sql_log_bin=1;

 

mysql_dump 备份全库 忽略错误 mysqldump全量备份,mysql_dump 备份全库 忽略错误 mysqldump全量备份_sql_03,第3张

也可以使用mysql test_backup < /opt/backup/mysql/logic/full/2019-09-09.sql进行恢复。该命令不需要登录进入mysql命令行执行,而是在服务器命令行执行。

3、查看恢复情况

 

mysql_dump 备份全库 忽略错误 mysqldump全量备份,mysql_dump 备份全库 忽略错误 mysqldump全量备份_mysql_04,第4张

 至此,通过mysqldump实现逻辑全量备份演示完毕!


https://www.xamrdz.com/web/2r61960152.html

相关文章: