Mysql备份方案
方案一:mysqldump+binlog: ( 推荐)
完全备份,通过备份二进制日志实现增量备份
方案二: xtrabackup:
对InnoDB:热备,支持完全备份和增量备份
对MyISAM:温备,只支持完全备份
方案三: lvm2快照+binlog:
几乎热备,物理备份
具体操作如下:方案一解析:
mysqldump+binlog
命令的语法格式
mysqldump [OPTIONS] database [tables]:备份单个库,或库指定的一个或多个表
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2DB3...]:备份一个或多个库
mysqldump [OPTIONS] --all-databases [OPTIONS]:备份所有库
其他选项
-x, --lock-all-tables:锁定所有表
-l, --lock-tables:锁定备份的表
--single-transaction:启动一个大的单一事务实现备份
-C, --compress:压缩传输
-E, --events:备份指定库的事件调度器
-R, --routines:备份存储过程和存储函数
--triggers:备份触发器
--master-data={0|1|2}
0:不记录
1:记录CHANGE MASTER TO语句;此语句未被注释
2:记录为注释语句
-F,--flush-logs:锁定表之后执行flushlogs命令 (刷新日志)
详细过程:
- 关闭防火墙和selinux,启动数据库mariadb
- 准备备份目录:
- 创建目录:mkdir -pv /backup/binlog
- 修改权限:chown -R mysql.mysql /backup/
- 准备备份数据库及表
- 进入数据库:mysql -uroot -p
- 创建数据库:create database magedu 然后使用该数据库:use magedu
- 创建表:create table M26(id int not null,name char(20) );