mysqldump工具基本使用mysql
1. mysqldump [OPTIONS] database [tables…]sql
还原时库必须存在,不存在须要手动建立bash
--all-databases: 备份全部库 --databases db1 db2 ...: 备份指定的多个库,若是使用此命令,恢复时将不用手动建立库 --lock-all-tables:请求锁定全部表以后再备份,对MyISAM、InnoDB、Aria作温备 --lock-table: 对正在备份的表加锁,可是不建议使用,若是其它表被修改,则备份后表与表之间将不一样步 --single-transaction: 可以对InnoDB存储引擎实现热备; 启动一个很大的大事物,基于MOCC能够保证在事物内的表版本一致 自动加锁不须要,再加--lock-table, 能够实现热备 备份代码: --events: 备份事件调度器代码 --routines: 备份存储过程和存储函数 --triggers:备份触发器 备份时滚动日志: --flush-logs: 备份前、请求到锁以后滚动日志; 方恢复备份时间点之后的内容 复制时的同步位置标记:主从架构中的,主服务器数据。效果至关于标记一个时间点。 --master-data=[0|1|2] 0: 不记录 1:记录为CHANGE MASTER语句 2:记录为注释的CHANGE MASTER语句
建立专门用于备份的用户
MariaDB > GRANT RELOAD,LOCK TABLES,SUPER,REPLICATION CLIENT ON *.* TO 'backup'@'%' IDENTIFIED BY '123456'; MariaDB > FLUSH PRIVILEGES;
mysqldump -ubackup -p123456 --single-transaction --flush-logs --master-data=2 --databases ttt > /data/backup.sql