误删数据库还原操作

图片[1]-误删数据库还原操作-雨萌屋

教程开始

 

我们需要知道一个/www/server/mysql/bin 目录中有一个叫mysqlbinlog文件

文件详情

mysqlbinlog的作用
mysqlbinlog是一个用于读取和处理MySQL二进制日志文件的工具。它可以将二进制日志文件中的内容转换为可读的文本格式,方便用户查看、分析和恢复数据。通过mysqlbinlog,你可以:

    • 查看二进制日志中的具体操作。

    • 提取特定时间范围内的日志内容。

    • 将日志内容重定向到SQL文件中,以便后续执行(例如,用于数据恢复)。

    • 分析数据库的变化历史,进行审计或故障排查。

备份文件

备份文件就在 /www/server/data 目录中 名字叫mysql-bin.000001 开始递增的比如 mysql-bin.000002 ,03,04看后面创建的日期打开文件你就知道今天写入了数据库sql语句和写入时间。宝塔可以打开。但是你会发现太乱了。根本找不到。(ps):犟种可以慢慢找

恢复文件

    1. 打开/www/server/data 目录 选择要恢复的文件 mysql-bin.000006 记住这个文件名后面会用到

    1. 打开/www/server/mysql/bin 目录 找到 终端 打开它。用户组是否是root,如果是就跳过,不是找教程。

分解命令

这个命令使用mysqlbinlog工具来提取MySQL二进制日志文件(mysql-bin.000006)中在特定时间范围内的数据修改操作,并将结果输出到redata.sql文件中。下面是对命令各部分的详细说明:

    1. mysqlbinlog
        • 这是MySQL提供的一个命令行工具,用于读取和处理MySQL的二进制日志文件。

    1. --start-datetime="2025-05-18 8:30:00"
        • 指定开始时间,从该时间点开始读取二进制日志中的记录。

        • 格式为YYYY-MM-DD HH:MM:SS

    1. --stop-datetime="2025-05-19 19:10:50"
        • 指定结束时间,读取二进制日志直到该时间点。

        • 格式为YYYY-MM-DD HH:MM:SS

    1. /www/server/data/mysql-bin.000006*
        • 指定要读取的二进制日志文件的路径和文件名模式。

        • mysql-bin.000025*表示读取以mysql-bin.000025开头的所有文件(通常是因为MySQL的二进制日志文件名是按顺序递增的,如mysql-bin.000025mysql-bin.000026等)。

    1. >
        • 输出重定向符号,将命令的输出结果写入到指定文件中,而不是在终端显示。

    1. redata.sql
        • 指定输出文件的名称和路径,即提取的SQL语句将写入到redata.sql文件中。

        • 这个文件包含了从mysql-bin.000025*日志文件中提取的、在指定时间范围内的所有数据修改操作的SQL语句。

备份文件

备份文件就在 /www/server/data 目录中 名字叫mysql-bin.000001 开始递增的比如 mysql-bin.000002 ,03,04看后面创建的日期打开文件你就知道今天写入了数据库sql语句和写入时间。宝塔可以打开。但是你会发现太乱了。根本找不到。(ps):犟种可以慢慢找

恢复文件

    1. 打开/www/server/data 目录 选择要恢复的文件 mysql-bin.000006 记住这个文件名后面会用到

    1. 打开/www/server/mysql/bin 目录 找到 终端 打开它。用户组是否是root,如果是就跳过,不是找教程。

分解命令

这个命令使用mysqlbinlog工具来提取MySQL二进制日志文件(mysql-bin.000006)中在特定时间范围内的数据修改操作,并将结果输出到redata.sql文件中。下面是对命令各部分的详细说明:

    1. mysqlbinlog
        • 这是MySQL提供的一个命令行工具,用于读取和处理MySQL的二进制日志文件。

    1. --start-datetime="2025-05-18 8:30:00"
        • 指定开始时间,从该时间点开始读取二进制日志中的记录。

        • 格式为YYYY-MM-DD HH:MM:SS

    1. --stop-datetime="2025-05-19 19:10:50"
        • 指定结束时间,读取二进制日志直到该时间点。

        • 格式为YYYY-MM-DD HH:MM:SS

    1. /www/server/data/mysql-bin.000006*
        • 指定要读取的二进制日志文件的路径和文件名模式。

        • mysql-bin.000025*表示读取以mysql-bin.000025开头的所有文件(通常是因为MySQL的二进制日志文件名是按顺序递增的,如mysql-bin.000025mysql-bin.000026等)。

    1. >
        • 输出重定向符号,将命令的输出结果写入到指定文件中,而不是在终端显示。

    1. redata.sql
        • 指定输出文件的名称和路径,即提取的SQL语句将写入到redata.sql文件中。

        • 这个文件包含了从mysql-bin.000025*日志文件中提取的、在指定时间范围内的所有数据修改操作的SQL语句。

用途

    • 通常用于数据恢复或审计,通过提取特定时间范围内的SQL操作,可以重新执行这些操作以恢复数据到某个特定状态。

    • 也可以用于分析数据库在某个时间段内的变更情况。

mysqlbinlog --start-datetime="2025-05-18 8:30:00" --stop-datetime="2025-05-19 19:10:50" /www/server/data/mysql-bin.000006* > redata.sql

本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
© 版权声明
THE END
喜欢就支持一下吧
点赞130 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容