按备份方法分类:
HotBackup(热备)
在线备份,不影响数据库运行
ColdBackup(冷备)
离线备份,通过拷贝数据库物理文件
WarmBackup(温备)
在线进行,但需要加读锁保证数据一致性
按备份文件内容分类:
备份后的内容是可读的,通常形式为SQL语句的文本文件,或是表内的实际数据
优势:呈现直观,适用于升级、迁移等工作,缺点:恢复用时较长
拷贝数据库的物理文件,不关心数据库的运行状态,通常这类备份恢复的时间较短
按备份数据库的内容分类:
完全备份:对当前数据库的完整备份
增量备份:在完全备份的基础上,对更新的数据进行备份
日志备份:指的是对数据库二进制日志的备份
备份内容:数据表结构定义文件(*.frm)、共享表空间文件(ibdata)、独立表空间文件(*.ibd)、重做日志文件(ib_logfile),建议增加配置文件(my.cnf)
mysqldump-uroot-p[arguments]>file_name备份所有数据库--databasesdbx备份数据库的整体架构,事务控制保证备份的一致性--lock-tables对所有架构所有表上锁--add-drop-databases通过转存的文件建立一个salvereplicationvalue=2CHANGEMASTER语句写成注释--master-data[=value]?--events备份存储过程和函数--triggers将binary、varbinary、blog、bit列类型备份为16进制的格式--tab=path导出给定条件的数据
SELECT[column1],[column2]...INTOfieldsorcolumns对于字符串的包含符[OPTIONALLY]ENCLOSEDBY'char'linesSTARTINGBY'string'TERMINATEDBY'string'}FROMTABLEWHERE...
mysqldump备份的文件为逻辑SQL语句,可用以下两种方法恢复
在MySQL交互命令行执行mysql>sourcexxx.sql
通过mysqldump--tab或selectintooutfile导出的数据需通过以下的命令导入
LOADDATA[LOW_PRIORITY|CONCURRENT][LOCAL]INFILE'filename'[REPLACE|IGNORE]INTOTABLEtb_name[CHARACTERSETcharset_name][LINES]STARTINGBY'string'TERMINATEDBY'string'#[IGNORENUMBERLINES]col_nameoruser_varSETcol_name=expr
使用LOADDATAINFILE导入需拥有FILE权限
mysql>loaddatainfile'xx.txt'intotablea;
mysql>loaddatainfile'xx.txt'intotablea;
在配置文件启动binlog日志服务
还原mysqlbinlogbinlog.000001|mysql-uroot-ptest

也可设置偏移量指定二进制日志的位置,以跳过某些不想被恢复的语句
mysqlbinlog--start-position=10000--stop-position=12000|mysql-uroot=ptest
也可使用–start-datetime和–stop-datetime
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDBHotbackup的一个很好的替代品
#备份/usr/local/percona-xtrabackup-2.4.3-Linux-x86_64/bin/innobackupex--defaults-file=/home/mysql/etc/my.cnf--user=root--password=pass--host=127.1--slave-info--tmpdir=/mysql/bak/full//mnt/sdfs/xxxx
#1.停库,清空data目录mysqladmin-uroot-h127.1-P3306-p'123456'shutdown;rm-rf/mysql/data/*;
#2.恢复-应用日志/usr/local/percona-xtrabackup-2.4.3-Linux-x86_64/bin/innobackupex--defaults-file=/home/mysql/etc/my.cnf--apply-log--user=root--password=pass--host=127.1/mnt/sdfs/***
#3.恢复-拷贝文件/usr/local/percona-xtrabackup-2.4.3-Linux-x86_64/bin/innobackupex--defaults-file=/home/mysql/etc/my.cnf--user=root?--password=pass--host=127.1--copy-back/mnt/sdfs/***
#4.文件修改权限chown-Rmysql:mysql/mysql
#5.启动实例mysqld_safe--defaults-file=/home/mysql/etc/my.cnf&
#6.[从库]从库需重新连接masterchangemasterto??master_host='192.168.100.20',??master_user='repl',??master_port=3306,??master_password='123456',??master_log_file='mysql-bin.000001',??master_log_pos=307;
#7.[从库]从库启动复制进程startslave;?启动连接
增量备份依赖于全备份,xtrabackup通过比较全备的终点与当前的LSN,生成区间内的备份文件,备份时也存在redo日志监控线程,备份过程中的增加的LSN也会写入日志中
/usr/local/percona-xtrabackup-2.4.3-Linux-x86_64/bin/innobackupex--user=root--host='127.0.0.1'--password='123456'--incremental?/root/back--incremental-basedir=/opt/back/2022-05-13_17-46-53
可进行多次增备,恢复需依次准备
准备增备日志/usr/local/percona-xtrabackup-2.4.3-Linux-x86_64/bin/innobackupex--apply-log--redo-only?/opt/back/2022-05-13_17-33-14--incremental-dir=/opt/back/2022-05-13_17-33-14#再次准备整体/usr/local/percona-xtrabackup-2.4.3-Linux-x86_64/bin/innobackupex--apply-log?/opt/back/2022-05-13_17-33-14
基于LVM对分区执行快照工作,Linux在硬盘和分区上建立一个逻辑层提高分区管理的灵活性,将离散的磁盘分区连接成一个整块的卷组,形成存储池
LVM使用写时复制技术创建快照,创建时仅拷贝元数据,不存在数据操作,创建过程较快。创建成功后,原始卷上有写操作时快照会跟踪原始卷的变化,将数据在改变之前拷贝到快照预留空间中,称之写时复制
复制是MySQL提供的一种高可用、高性能的方案,用于建立大型应用,步骤分为三步:
同步的过程是异步的,基本上也是实时进行的,取决于主服务器的压力
为解决数据误操作的问题,可以在从服务器建立分区快照,避免复制对误操作的处理能力
本文来源:国外服务器--mysql备份与恢复命令(mysql参考文献近三年)
本文地址:https://www.idcbaba.com/guowai/3943.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



