如何操作才能保证mysql和mongo在出现异常时事务回滚?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何操作才能保证mysql和mongo在出现异常时事务回滚?

初商 2019-09-10 17:05:06 282

大佬们,我想问个问题,就是我们现在想mysql和mongo一起使用,但是发现一个问题,当我在同一个方法中对mysql和mongo进行同时进行新增,在后续方法体执行中出现异常时,事务无法回滚。

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。https://developer.aliyun.com/article/706511 点击链接欢迎加入感兴趣的技术领域群。

关系型数据库 MySQL 开发者
分享到
取消 提交回答
全部回答(1)
  • 被纵养的懒猫
    2019-09-30 14:31:21

    mysql命令行下怎样实现数据的回滚操作 在MySQL有时执行了错误的update或者delete时导致大量数据错误恢复的办法。执行时没有开启事务,也没有对数据进行。这时就需要使用到sqlbinlog工具。 sqlbinlog需要开启,具体的打开方法就不说了。 使用sqlbinlog会产生bin文件,恢复就需要用到这些文件。文件中记录着数据库的所有操作。(此方法的操作是将数据库之前所执行的语句重新执行一次,以达到恢复效果) 具体步骤:1,先找到bin文件,一般都是在mysql的data文件夹中,结尾以.00000X等形式结束。 2,寻找需要还原的时间点 使用语句 mysqlbinlog 文件名 例(MySQLbinlog xxbin.000001)来查看内容,然后找到对应的具体时间 3,导出sql语句,使用语句 mysqlbinlog 文件名>sql文件路径 例(mysqlbinlog xxxbin,00001>>a.sql | mysql -u root -p ) 如果需要指定时间导出--start--date -stop='' --date='' 来导出指定时间执行的语句例(sqlbinlog --start-stop='2015-11-22 10:00:00' xxbin.000001>a.sql | mysql -u root -p )这句意思是导出在2015-11-22 10点之前的语句,反之start是导出时间之后的。 start和stop可以同时使用。 如果存在多个bin文件,则按照需要导出。 4,使用mysql将导出的语句执行一次。

    答案来源于网络

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题