mysqldump -u root -p prod users > users.sql python mask_dump.py users.sql > users_test.sql
测试库是从生产 dump 出来的,八十万条真实手机号和地址,测试同学直接在群里贴查询结果。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,为了数据真实直接导生产库,没有走脱敏流程。测试环境的访问控制比生产松,导出和截图都没人管。
「测试环境数据脱敏」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
处理上按这个顺序:dump 后先跑脱敏脚本再导入;姓名手机号地址全部替换成造的数;建一份测试数据生成器 日常用假数据;测试库禁止直连生产。
改完只确认一件事:测试库里查不到任何真实号码 业务用例仍能跑通。
