#### # 问题描述

今天无意中发现原本能正常增加的 id 突然不变了，查看 sql 发现是取的对应表的自增 id。虽然存到表中的新数据自增 id 变化了，但返回的 id 总是不变。经过查询发现表的自增 id 是存在 information_schema 库中的 tables 表中。tables 表中存储了所有表的对应信息，其中有个 auto_increment 字段存储的就是对应表的下一个自增值。但是 mysql 在新版本中修改了此值的更新规则，老版本中是实时更新，新版本修改为 24 小时更新一次。为了不修改原代码中的逻辑，只能通过修改 mysql 配置使项目正常工作了。

#### # 解决办法

    1
    2
    3
    4
    5
    6
    7
    8
    9

    mysql数据库auto_increment自增长不变的处理方法
    修改/etc/mysql/mysql.conf.d/mysqld.cnf
    增加一行information_schema_stats_expiry = 0
    保存后重启mysql
    sudo systemctl restart mysql.service

    查询是否生效
    show global variables like 'information_schema_stats_expiry';
    show session variables like 'information_schema_stats_expiry';

mysql