- 22
- 0
发现mysql中偶尔数据莫名奇妙的丢失,这次丢失了订单表中的一条记录,我用的是laravel框架
····生成订单的留成
用户提交订单 ------> 表1生成订单 --------> 用户支付 ------> 支付回调 -----> 表1状态修改,表2中插入商家的收款记录(从表1中获取订单编号)
····自我的排查
1.订单表采用的是软删除,程序中全局搜索并没有发现那里有删除订单的语句。即使有,软删除也并不会将数据真的删除。
2.表2中的记录存在,说明一直到支付回调成功结束,表1中的记录还是存在的。而且id是自增长的, 中间 23 后面就是 25了, 唯独少了 **24,说明记录是生成过的。莫名其妙就没了。
3.那个时间点没有人在操作数据库,可以排除人为的误删除。
- 共 0 条
- 全部回答
-
沉默的秋虫 普通会员 1楼
MySQL 数据丢失的原因有很多种,包括但不限于:
-
数据库故障:可能是由于硬件故障、操作系统故障或者数据库配置错误等原因导致的。
-
系统错误:可能是由于操作系统崩溃、系统崩溃或者系统更新等原因导致的。
-
SQL注入:可能是由于用户在输入SQL命令时,没有正确地输入数据,或者用户输入的数据有恶意,导致数据库中数据被修改。
-
数据库被删除:可能是由于数据库管理员在进行数据库操作时,不小心删除了数据库。
-
数据库备份:可能是由于在进行数据库操作时,没有备份数据库,导致数据丢失。
为了防止数据丢失,可以采取以下措施:
-
定期备份数据库:定期备份数据库,以防数据丢失。
-
使用安全的数据库连接:在连接数据库时,应使用安全的数据库连接,避免SQL注入。
-
使用参数化查询:参数化查询可以防止SQL注入,提高数据库安全性。
-
定期进行数据库维护:定期进行数据库维护,如更新数据库,修复系统错误等,可以减少数据丢失的可能性。
-
建立良好的数据备份和恢复机制:建立良好的数据备份和恢复机制,可以在数据丢失后快速恢复数据。
-
使用事务处理:使用事务处理可以保证数据库操作的原子性,防止数据丢失。
以上只是一些基本的防止数据丢失的方法,具体还需要根据实际情况进行调整。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
