网站建设理论基础,坪山建设网站,马云的网站怎么做的,wordpress手机没搜索数据备份分类 数据库的备份类型 完全备份#xff1a;对整个数据库的数据进行备份部分备份#xff1a;对部分数据进行备份#xff08;可以是一张表也可以是多张表#xff09; 增量备份#xff1a;是以上一次备份为基础来备份变更数据的#xff0c;节约空间差异备份#x…数据备份分类 数据库的备份类型 完全备份对整个数据库的数据进行备份部分备份对部分数据进行备份可以是一张表也可以是多张表 增量备份是以上一次备份为基础来备份变更数据的节约空间差异备份是以第一次完全备份的基础来备份变更备份的浪费空间 数据库备份的方式 逻辑备份直接生成sql语句保存起来在恢复数据的时候执行备份的sql语句来实现数据的恢复物理备份直接拷贝相关的物理数据区别逻辑备份效率低恢复数据效率低但是逻辑备份节约空间物理备份浪费空间但是相对逻辑备份而言效率比较高 数据库备份的场景 热备份备份时数据库的读写不会受到影响温备份备份时数据库的读操作可以进行但是写操作不能执行冷备份备份时不能进行任何操作
逻辑备份与恢复mysqldump mysqldump使用语法 mysqldump -u用户 -p -h主机 数据库 表名 路径 实例 # 备份单库
mysqldump -uroot -p -h127.0.0.1 --databases test | gzip /mysql_data_back/test.sql.gz# 备份单库单表
mysqldump -uroot -p -h127.0.0.1 test test | gzip /mysql_data_back/test.sql.gz# 备份多库
mysqldump -uroot -p -h127.0.0.1 --databases test sys | gzip /mysql_data_back/test.sql.gz数据恢复 mysql -uroot -p -h127.0.0.1 /mysql_data_back/test.sql物理备份 查询数据库源文件路径 方式一show variables like ‘datadir’;方式二配置文件中查看vim /etc/my.cnf MyISAM表源文件 db.opt创建库的时候生成主要存储着当前库的默认字符集和字符校验规则.frm记录表结构信息.MYD记录表数据.MYI记录索引 InnoDB表源文件InnoDB有着共享表空间跟独立表空间的概念 db.opt创建库的时候生成主要存储着当前库的默认字符集和字符校验规则.frm记录表结构信息.ibd独立表空间记录这个表的数据和索引ibdata1共享表空间记录表的数据和索引和数据库同级别存放
物理备份直接将源文件拷贝工作中不常用注意不要拷贝缺失
二进制备份mysqlbinlog 结合mysqldump使用 简介 二进制日志就是记录着mysql数据库中的一些写入性操作比如增删改不包括查询实现增量备份开启二进制日志会有1%性能消耗 查看二进制日志是否开启 show variables like log_bin%;开启二进制日志vim /etc/my.cnf [mysqld]
log-bin/data/mydata/log_bin/mysql_bin
server-id1binlog相关操作 -- 查看所有的binlog日志列表
show master logs;-- 刷新二进制日志重新生成新的日志
flush logs;-- 清空二进制日志文件
reset master;使用mysqldump备份数据时加上-F可以重新生成一个新的二进制日志 mysqldump -uroot -p -h127.0.0.1 test test -F /mysql_data_back/test.sql二进制恢复mysqlbinlog 查看二进制日志mysqlbinlog mysql_bin.000002 二进制日志文件导出成普通文件 mysqlbinlog --base64-outputDECODE-ROWS -v mysql_bin.000002 mysqlbin.sql找出要恢复的位置 # 找出关键字的行数
mysqlbinlog --no-defaults mysql_bin.000002 | cat -n | grep -iw drop# 打印相关内容
mysqlbinlog --no-defaults mysql_bin.000002 | cat -n | sed -n 100,114p恢复数据 # 先恢复之前全量备份的数据
mysql -uroot -p -h127.0.0.1 test /mysql_data_back/test.sql
# 恢复增量备份的数据注意position是文件中的# at 1275
mysqlbinlog --no-defaults --set-charsetutf8 --stop-position1275 /data/mydata/log_bin/mysql_bin.000002 | mysql -uroot -p