目录
备份
在生产环境中,数据的安全性非常重要
造成数据丢失的原因:
1.程序出错
2.人为的问题
3.磁盘故障
备份的分类
1.物理备份:对磁盘或者文件直接进行备份
冷备份:脱机备份,先把指定的程序关闭,然后对资料进行备份
热备份:联机备份,不用关闭程序就可以对资料进行备份
2.逻辑备份:根据数据库文件当中保存的sql语句,表结构等等,以特定的格式和命令对文件的内容进行还原。热备份的一种。只能对表进行备份,库没了不能恢复。
冷备份
物理备份中的全量备份(冷备份)
把数据库的内容整个一次性的做备份
从一台数据库备份到另一台
实验步骤
在本地虚拟机
1.安装一个高效率的数据压缩工具 xz
systemctl stop mysqld
yum -y install xz
tar -Jcvf /opt/mysql_all_$(date +%F).tar.xz /usr/local/mysql/data
在另一个虚拟机上操作
2.迁移数据
scp root@192.168.233.70:/opt/mysql_all_2024-07-19.tar.xz /opt/
方法一:
实验结果
mysqldump
mysql自带的备份命令,可以备份库,也可以备份库里的表,它是增量备份
热备份
备份一个本地数据库
备份多个本地数据库
备份数据库到另一个虚拟机
先在本地虚拟机
mysqldump -u root -p --all-databases > /opt/all.sql
然后在另一个虚拟机
备份库里的表
增量备份
vim /etc/my.cnf
开启二进制日志的功能 binlog ,它是逻辑备份,会生成一个文件,这个里面包含了sql语句,要使用特定的方式和语句才能恢复
添加
cd /usr/local/mysql/data
查看命令
断点(先输命令再删除)
恢复数据命令
从位置的开始恢复
指定位置的开始和结束恢复
通过时间指定恢复
日志的管理
binlog_format=MIXED 记录二进制日志的文件格式
STATEMENT 基于sql语句:只是记录用户操作的sql语句,高并发的情况下,记录操作的sql语句的顺序可能会出错,导出数据时,就会有丢失或者误差,效率高
ROW 基于行,记录每一行的数据,准确,高并发也不会出错,但是恢复的效率低
MIXED 混合模式 正常情况下使用STATEMENT,高并发使用ROW,智能判断
general_log=ON 开启通用查询日志