安徽电子学会网站建设,国家企业公示信息官网,龙岗同乐社区网站建设,广告网站怎么设计制作最近正在做一个异地数据的定期同步汇总工作#xff0c;涉及到的数据库主要是Mysql数据库#xff0c;用于存储现场的一些IOT采集的实时数据#xff0c;所以做了以下备份恢复测试#xff0c;现场和总部网络可定期联通#xff0c;但速度有限#xff0c;因此计划采用备份恢复…最近正在做一个异地数据的定期同步汇总工作涉及到的数据库主要是Mysql数据库用于存储现场的一些IOT采集的实时数据所以做了以下备份恢复测试现场和总部网络可定期联通但速度有限因此计划采用备份恢复增量文件方式具体运行环境Windows10 mysql-8.0.19-winx64。
一、完全备份数据库名称保持不变
1.完全备份一个或多个完整的库 (包括其中所有的表) mysqldump -uroot -p123456 --databases test1 D:\dev\mysql-8.0.19-winx64\backup\test1.sql ##备份一个test 库
2.完全备份 MySQL 服务器中所有的库 mysqldump -uroot -p123456 --all-databases D:\dev\mysql-8.0.19-winx64\backup\all.sql
3.完全备份指定库中的部分表 mysqldump -uroot -p123456 test table1 D:\dev\mysql-8.0.19-winx64\backup\test-table1.sql
4. 使用source恢复数据库的步骤
登录到mysql后执行以下命令。 source D:\dev\mysql-8.0.19-winx64\backup\test1.sql
5. 使用mysql命令恢复数据库解决无须登录mysql数据库情况使用-e删除数据表执行mysql备份sql脚本的路径 mysql -uroot -p -e drop table test.test; mysql -uroot -p test1 D:\dev\mysql-8.0.19-winx64\backup\test11.sq mysql -uroot -p -e show tables from test 二、增量备份恢复
# 备份 生成新的二进制文件例mysql-bin.0000004mysql-bin.0000005这个脚本要求每天做相当于增量的基础二进制文件后续用这个恢复数据库。可参考附录的增量备份脚本Increment_backup.bat。 mysqladmin -uroot -p123456 flush-logs
#使用64位编码机制去解码按行读取详细内容查看解析的内容查看其他信息及配置详见附录。 mysqlbinlog --no-defaults --base64-outputdecode-rows -v D:\dev\mysql-8.0.19-winx64\data\mysql-bin.000001
#也可以将解析的内容输出到文件 mysqlbinlog --no-defaults --base64-outputdecode-rows -v D:\dev\mysql-8.0.19-winx64\data\mysql-bin.000014 D:\dev\mysql-8.0.19-winx64\backup\outinfo.txt
# 1.一般恢复用的最多 mysqlbinlog --no-defaults D:\dev\mysql-8.0.19-winx64\data\mysql-bin.000004 | mysql -u root -p
# 2.基于位置点恢复位置点可通过附录3的命令查询得到。
#仅恢复到操作 ID 为“1104242之前的数据即不恢复1104242位置点之后插入更新删除的数据
mysqlbinlog --no-defaults --stop-position1104242 D:\dev\mysql-8.0.19-winx64\data\mysql-bin.000008| mysql -uroot -p123456
# 3.基于时间点恢复
#仅恢复到16:40:00 之前的数据即不恢复这个时间点之后的数据。
mysqlbinlog --no-defaults --stop-datetime2023-04-24 16:40:00 --databasetest1 D:\dev\mysql-8.0.19-winx64\data\mysql-bin.000009 | mysql -uroot -p
附录
1.查看 log_bin是否开启登录到mysql后执行如下命令见下图。
show variables like %log_bin%; 如果log_bin为OFF则需要在my.ini的配置文件中加入如下配置
l# 开启二进制日志功能 log-binmysql-bin # 可选指定二进制日志(binlog)的记录格式为MIXED混合输入 binlog_format MIXED
2.查看当前使用的 logbin.000*** 日志文件执行如下命令
show master status;
3.查看这个binlog的内容
show binlog events in mysql-bin.000014;