青铜到王者,快速晋升你 MySQL 数据库的段位!
DBA 职员,假如不能担保数据的完备性,统统操纵都是徒劳无功。以是备份的重要性可想而知。固然备份不能带来营业上的晋升,还会增进我们的本钱。可是没稀有据的完备性,无法担保我们线上营业的正常运行。是数据破坏时最后的一个救命稻草。 备份按要领分:冷备和热备 冷备:数据库关掉,影响营业。体系级此外文件 copy(PS:此刻这种根基被废弃了) 热备:数据库在线备份,不影响现有营业的举办。 在热备内里又分为: 1. 逻辑备份 a. mysqldump b. mydumper c. mysqlpump(mysql 5.7才呈现) 2. 裸文件备份 物理底层去 copy 文件,器材是 percona-xtrabackup 按内容又可以分为:全量备份、增量备份 出产中最常用的两种要领: 1. mysqldump 2. xtrabackup mysqldump 参数详解: --single-transaction 用于担保innodb备份数据同等性,共同RR断绝级别行使;当提倡事宜,读取一个快照版本,直到备份竣事时,都不会读取到才干务开始之后提交的数据;(很重要) -q, --quick 加 SQL_NO_CACHE 标示符来确保不会读取缓存里的数据-l --lock-tables 提倡 READ LOCAL LOCK锁,该锁不会阻止读,也不会阻止新的数据插入 --master-data 两个值 1和2,假如值便是1,就会添加一个CHANGE MASTER语句(后期设置搭建主从架构) 假如值便是2,就会在CHANGE MASTER语句前添加注释(后期设置搭建主从架构) -c, --complete-insert; 导出完备sql语句 -d,--no-data; 不导出数据,只导表布局 -t,--no-create-info; 只导数据,不导表布局 -w, --where=name ; 按前提导出想要的数据 备份数据库: 备份单个数据库或单个数据库中的指定表: mysqldump [OPTIONS] database [tb1] [tb2]… 备份多个数据库: mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3...] 备份全部数据库: mysqldump [OPTIONS] –all-databases [OPTIONS] 操作mysql呼吁规复数据: mysql -uroot -proot23 db_name < table_name.sql xtrabackup备份道理说明: 对付Innodb,它是基于Innodb的crash recovery成果举办备份。 数据库瓦解规复道理先容:Innodb 维护了一个 redo log,它记录着 Innodb 全部数据的真实修改信息,当数据库重启进程中,redo log 会应用全部已经提交的事宜举办前滚,并把全部未提交的事宜举办回滚,来担保宕机那一时候的数据完备性。 XtraBackup 在备份的时辰并不锁定表,而是一页一页地复制 InnoDB 的数据,与此同时,XtraBackup 尚有其它一个线程监督着 transactions log,一旦 log 产生变革,就把变革过的 log pages 复制走。在所稀有据文件复制完成之后,遏制复制 logfile。 常用呼吁: 起首必要建装备份目次:/opt/data/ innobackupex --no-timestamp --defaults-file=/etc/my.cnf --user root --socket=/tmp/mysql.sock --password root123 /opt/data/all-20170719-bak 注--no-timestamp 该参数的寄义:不必要体系建设时刻目次,本身可以定名; 增备道理说明: 在完备备份和增量备份文件中都有一个文件 xtrabackup_checkpoints 会记录备份完成时搜查点的LSN。在举办新的增量备份时,XtraBackup 会较量表空间中每页的 LSN 是否大于前次备份完成的 LSN,假如是,则备份该页,并记录当前搜查点的 LSN。 7月20日的增备信息 [root@node3 all-20170720-incr]# cat xtrabackup_checkpoints backup_type = incremental from_lsn = 267719862 to_lsn = 267720940 last_lsn = 267720940 compact = 0 7月21日的增备信息 [root@node3 all-20170721-incr2]# cat xtrabackup_checkpoints backup_type = incremental from_lsn = 267720940 to_lsn = 267721260 last_lsn = 267721260 compact = 0 可以看出 7月20日 的竣事 lsn 号(to_lsn)是 7月21日 的开始 lsn 号(from_lsn)。 增备常用呼吁: 7月20日的增量文件 ./innobackupex --no-timestamp --user root --socket=/tmp/mysql.sock --password root123 --defaults-file=/etc/my.cnf --incremental --incremental-basedir=/opt/data/all-20170719-bak /data/xtrabackup/all-20170720-incr 注#–incremental-basedir:用来标识当前的增备从那边开始 7月21日的增量文件 ./innobackupex --no-timestamp --user root --socket=/tmp/mysql.sock --password root123 --defaults-file=/etc/my.cnf --incremental --incremental-basedir=/data/xtrabackup/all-20170720-incr /data/xtrabackup/all-20170721-incr2 完备备份集=全备+增备1+增备2 规复操纵: (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |