首页 > 数据库 >Mysql重启后,自增ID从几开始?

Mysql重启后,自增ID从几开始?

时间:2023-06-26 18:23:21浏览次数:46  
标签:自增 重启 表中 计数器 引擎 Mysql ID

一、问题背景

在mysql中用自增列作为主键时,先往表里插入5条数据,此时表里数据id为1、2、3、4、5,如果此时删除id=4、5的数据后,再重启数据库,重启成功后向表里插入数据的时候,innodb、myisam引擎下ID分别是从几开始增加?

二、使用InnoDB引擎

  1. 在mysql 8.0版本之前,表的自增列变量 auto_increment计数器会把值存放在内存中,不会写入磁盘。一旦 MySQL 服务重启,这个值就丢了。InnoDB 引擎会根据表中现有的数据重新计算该计数器的值:获取表中最大的自增主键 ID 作为auto-increment 计数器的最大计数。针对上述问题,重启后ID是从4开始。
  2. 在mysql 8.0版本之后,每当计数器的值有变,InnoDB 会将其写入 redo log,保存到引擎专用的系统表中。重启后,会延续递增,而不是重置。

三、使用MyIsam引擎

自增ID保存在数据文件中,重启后会延续递增。

标签:自增,重启,表中,计数器,引擎,Mysql,ID
From: https://www.cnblogs.com/aleda-territory/p/17506439.html

相关文章

  • linux下搭建mysql
    Linux下搭建mysql一、上传解压mysql压缩包1.上传mysql压缩包到linux下任意目录比如/usr/src(新系统需要给该目录添加权限:chmod777/usr/src)2.解压mysql压缩包unzipmysql-community-5.7-all.zip二、安装mysql应用程序1.严格按顺序安装rpm程序rpm-ivhmysql-community-common-5.7.......
  • Authentication to host '10.167.32.123' for user 'root' using method 'mysql_
    连接Mysql5.7以上的版本的数据库出现报错:C#连接远程连接mysql时,抛异常:Authenticationtohost'10.167.32.123'foruser'root'usingmethod'mysql_native_password'failedwithmessage:Readingfromthestreamhasfailed最终在Mysql官网的bug提交区发现已经有人也遇到......
  • FIO的再学习-不同Raid,不同磁盘性能验证
    FIO的再学习-不同Raid性能验证背景发现自己对iodepth的和num_jobs的理解存在偏差找了一些资料才发现自己很多地方做的不对.这里找到一个新资料可以进行模拟数据库的测试测试配置文件#R/W:8/2#ThreadPoolNum:64#IOThreadNum:32[global]runtime=120time_b......
  • 基于docker部署mysql
    Docker中部署mysql一、给docker创建网络dockernetworkcreate-dbridgemtx二、在任意目录创建mysql配置文件1.创建目录cd到root目录mkdirdockercddockermkdirmysqlcdmysqlmkdirconfcdconftouchmy.cnfcdmysqlmkdirdata2.给mysql配置文件my.cnf添加配置vimy.cnf[mysql......
  • mysql 将数据库所有表的存储引擎修改为InnoDB
    要将现有的MySQL数据库中的所有表设置为InnoDB存储引擎,可以使用以下步骤:运行以下SQL命令,将所有表格的存储引擎设置为InnoDB:SET@DATABASE_NAME=DATABASE();SELECTCONCAT('ALTERTABLE`',table_name,'`ENGINE=InnoDB;')ASsql_statementsFROMinformation_sc......
  • 以实用著称的《PHP与MySQL程序设计(第3版)》问世啦!
        最好的编程图书应该不是纯粹地讲述理论,而是要切合实际。作者在写书过程中,一直都以此为目标,努力让所写的内容能用到实处。以本书的篇幅来看,很明显,他在竭尽所能地提供这种实用性。也就是说,如果你希望获得PHP编程语言和MySQL数据库服务器的实践经验,对它们有全面的了解,并且......
  • fiddler的介绍和使用
    一、fiddler工作原理Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1,端口:8888.当Fiddler开启会自动设置代理,退出的时候它会自动注销代理,这样就不会影响别的......
  • NVIDIA-SMI has failed带来的一系列问题
    NVIDIA-SMIhasfailed带来的一系列问题前沿记实验室的小红帽服务器重启后,使用nvidia-smi出现以下问题:NVIDIA-SMIhasfailedbecauseitcouldn'tcommunicatewiththeNVIDIAdriver.MakesurethatthelatestNVIDIAdriverisinstalledandrunning.现记录解决该问......
  • MySQL---性能分析工具的使用
     数据库服务器优化的步骤  查看系统性能参数统计sql查询成本:last_query_cost定位执行慢的SQL:慢查询日志 开启慢查询日志查看当前是否开启慢......
  • Django生成MySQL表的字段注释
    https://blog.csdn.net/Tomonkey/article/details/125382817 安装addcommentspipinstalladdcomments给model字段添加verbose_name属性age=models.SmallIntegerField(verbose_name="年龄",blank=True,default=None)settings.py中添加模块INSTALLED_APPS+=[......