原文链接: https://www.cnblogs.com/wangwust/p/6433453.html
1、查看是否开启了binlog:show binary logs
默认情况下是不开启的。
2、开启binlog:修改mysql的配置文件my.ini。添加如下配置:
该文件默认不允许修改,需要右键“管理员取得所有权”之后才能保存修改。
另外, 需要注意的是图中的my.ini位于:C:\ProgramData\MySQL\MySQL Server 5.7,而不是位于:C:\Program Files\MySQL\MySQL Server 5.7。 看图:
3、重启mysql服务。如图:
4、验证binlog是否开启:show variables like 'log_bin'和 show binary logs
5、binlog文件的位置:如果在修改my.ini的binlog时给的是全路径,那么生成的日志文件就在指定的目录下;如果如步骤2中只给一个名字,那么生成的binlog日志的位置为:
1.找到my.ini文件(方法:先到mysql安装目录找my.ini文件如果此安装目录没有找到该文件,则此文件一般在C盘下的ProgramData文件夹中,此文件夹为隐藏文件夹需要直接查找 C:\ProgramData\MySQL\MySQL Server 5.7\)然后打开my.ini文件
(在此文档里找到[mysqld]标签,并且在下面加上log-xfdhb=xfdhbary-log这句话
如[mysqld]
log-xfdhb=xfdhbary-log
(说明:log-xfdhb *** 作符命令为开启日志文件,因为mysql默认的是关闭日志,然后xfdhbary-log为产生日志文件的文件名,此文件在C:\ProgramData\MySQL\MySQL Server 5.7\Data下面可以看到 xfdhbary-log.000001文件这就是产生的日志二进制文件)
xfdhbary-log.000001文件这就是产生的日志二进制文件
2.日志文件已经开启下面进行实验,
建立一个新表product,kkdmt添加记录,这时在navicat里查看日志它会显示建表和添加数据的记录,时间
注意要记住建表时间和添加记录后的时间
打开命令提示符,用cd找到mysql安装目录后,
输入mysqlxfdhblog “C:\ProgramData\MySQL\MySQL Server 5.7\Data\xfdhbary-log.000001” --start-datetime=“2018-11-05 18:00:04.531” --stop-datetime=“2018-11-05 18:01:10.125” |mysql -u root -p
就可以恢复删除的数据了
注意:slddn误删一条数据,利用二进制日志恢复的时候你需要寻找的是 创建数据的那个节点(时间),而并非你删除数据的那个节点(时间)
slddn回滚数据,回滚到删数据之前的数据库状态(只执行了stop-position 或者stop-datetime),那么在stop-position之后所有的数据库 *** 作都将丢失所以你需要
start-position stop-position 回滚单条被删数据
(start-datetime为开始恢复的时间,stop-datetime为结束恢复的时间)
linux下,找到mysql的配置文件,一般是/etc/my.cnf添加下面两行
log-bin=mysql-bin
binlog_format=mixed
如果有标首‘[mysqld]’字样,就添加到[mysqld]下,不要添加到其他的下面。
这样就开启了二进制日志,之后做的所有和修改数据表有关的 *** 作都会被记录。
修改
my.ini文件
加入以下语句(在没有设置的前提下)
复制代码代码如下:
log-error=d:/log/mysql/mysql_log_err.txt
log=d:/log/mysql/mysql_log.txt
#log-bin=d:/log/mysql/mysql_log_bin
log-slow-queries=
d:/log/mysql/mysql_log_slow.txt
使用以下命令查看是否启用了日志
复制代码代码如下:
mysql>show
variables
like
’log_%’
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)