mysql中的二进制日志

        在新的项目不断迭代版本的时候我们有时候需要经常修改数据库的表结构和表数据,这时候经常用到source xxx.sql 命令来导入新建的表和数据(前提是进入sql命令行~ 如下图),但是在使用这个命令的时候我们要注意:尽量使用先前版本不存在的sql文件包含的表来导入。比如原始数据库中没有table_a 这个数据表,我们可以用source table_a.sql文件来进行导入,但是如果原始数据库中有table_a.sql 的话,就最好不要用source table_a.sql 来进行导入了。

       

       那万一使用上面的source xxx.sql,导致数据有问题,想恢复到之前的状态怎么办?   下面我们将使用mysql中的二进制日志

       1.先看看是否打开了二进制日志,  show variables like 'log_bin'; 

        

       我们看到上面是没有打开的,下面我们找到mysql的配置文件,Linux中在/etc/my.cnf   Windows的话就是my.ini 中,加入下面的两句(如下图):

       log-bin=mysql
       binlog-do-db=数据库名(这句话可要可不要,指定为相应的数据库来插相应的日志)  

       

      加入以后退出,重启mysql服务就可以了,linux中是service mysqld restart

      然后我们每一次的操作都会记录在二进制日志文件中,到底这个二进制文件在哪里呢?  我们可以查看当前数据库的状态  show master status;

      

     这里我们可以看到有一个mysql.000001 中,找到它,打开可以看到(之前我做了一次插入数据的操作):

     

        这样我们可以通过后续的命令来进行恢复了。

       参考:jumethh的专栏 

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值