V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
thinkershare
V2EX  ›  问与答

什么情况下 mysql 数据库的主键列(自增/唯一列)会出现重复的键值?

  •  
  •   thinkershare · Jul 25, 2023 · 816 views
    This topic created in 1021 days ago, the information mentioned may be changed or developed.

    今天早上到公司,节点项目现场发回的一个数据库备份,项目现场的人说这个库遇到了一些奇怪的问题,让我还原后找找原因,我尝试将数据导入到本地,竟然发现在一个历史表中,存在大量主键重复。此数据表曾经切换过存储引擎。

    jenlors
        1
    jenlors  
       Jul 25, 2023
    索引损坏吧,试试重建索引之类的,猜测跟磁盘或者断电之类的有关
    opengps
        2
    opengps  
       Jul 25, 2023
    切换期间,取消了主键,然后有写入,然后想重新设置主键报错了吧
    thinkershare
        3
    thinkershare  
    OP
       Jul 25, 2023
    @opengps 切换存储引擎期间数据库是停止对外服务的,不存在插入情况,主要是现场数据库是外网不可访问的那种。也没法直接上去看,只能先将数据库和日志备份到本地了。
    thinkershare
        4
    thinkershare  
    OP
       Jul 25, 2023
    @jenlors 我也怀疑是磁盘损坏,断电是不可能的,现场有 UPS ,服务器机房。
    thinkershare
        5
    thinkershare  
    OP
       Jul 25, 2023
    结帖: 现场人员导出数据库的时候没有停机,导致既有新数据插入又在备份,备份的时候没有锁定表,导致导出的 sql 文件中的行重复出现。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5926 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 06:04 · PVG 14:04 · LAX 23:04 · JFK 02:04
    ♥ Do have faith in what you're doing.