欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql自增長(zhǎng)ID字段丟失問題及解決

 更新時(shí)間:2025年09月23日 09:04:01   作者:騎不快的小歐同學(xué)  
MySQL 8.0前InnoDB自增ID重啟會(huì)丟失,重新插入從max+1開始;8.0后持久化到磁盤,保留原有值,MyISAM在8.0及以后版本均不會(huì)丟失自增ID,差異源于存儲(chǔ)引擎對(duì)自增值的處理方式

之前面試的時(shí)候遇到一個(gè)問題,因?yàn)槠綍r(shí)自己都是用的mysql 8.0+ 版本所以這里踩了一個(gè)坑記錄一下

一、場(chǎng)景

假如在對(duì)一個(gè)有自增長(zhǎng)ID的一個(gè)表新增 id分別為 1,2,3,4,5數(shù)據(jù)時(shí),在進(jìn)行刪除id 為5的數(shù)據(jù)成功后

mysql 宕機(jī)了,重啟了對(duì)這張表重新插入數(shù)據(jù),那么這個(gè)自增長(zhǎng)ID 會(huì)從多少開始

二、場(chǎng)景分析

1.針對(duì)于innodb(MYSQL 事務(wù)存儲(chǔ)引擎)

在mysql 8.0 版本之前,mysql對(duì)于自增長(zhǎng)ID屬性auto-increment 的值都是存儲(chǔ)在內(nèi)存中的,當(dāng)mysql發(fā)生重啟或者宕機(jī)的情況下,內(nèi)存中的值會(huì)丟失,這個(gè)屬性就會(huì)被重新計(jì)算,計(jì)算方式是max(自增長(zhǎng)id)+1

在mysql 8.0 之前 針對(duì)這個(gè)問題進(jìn)行了修復(fù),把屬性auto-increment 放入到了本地磁盤中進(jìn)行一個(gè)持久化的操作

2.對(duì)于MyISAM(MYSQL 非事務(wù)存儲(chǔ)引擎)

MyISAM 的話在mysql 8.0和8.0之后都不會(huì)發(fā)生自增ID丟失的情況

總結(jié)

例如:

上述問題主要需要根據(jù)mysql版本和不同存儲(chǔ)引擎是否對(duì)自增長(zhǎng)ID進(jìn)行一個(gè)持久化操作來進(jìn)行分析不同的情況

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql 5.7以上版本安裝配置方法圖文教程(mysql 5.7.12\mysql 5.7.13\mysql 5.7.14)

    mysql 5.7以上版本安裝配置方法圖文教程(mysql 5.7.12\mysql 5.7.13\mysql 5.7.

    這篇文章主要為大家分享了MySQL 5.7以上縮版本安裝配置方法圖文教程,包括mysql5.7.12、mysql5.7.13、mysql5.7.14安裝教程,包括感興趣的朋友可以參考一下
    2016-08-08
  • 美團(tuán)網(wǎng)技術(shù)團(tuán)隊(duì)分享的MySQL索引及慢查詢優(yōu)化教程

    美團(tuán)網(wǎng)技術(shù)團(tuán)隊(duì)分享的MySQL索引及慢查詢優(yōu)化教程

    這篇文章主要介紹了美團(tuán)網(wǎng)技術(shù)團(tuán)隊(duì)分享的MySQL索引及慢查詢優(yōu)化教程,結(jié)合了實(shí)際的磁盤IO情況對(duì)一些優(yōu)化方案作出了分析,十分推薦!需要的朋友可以參考下
    2015-11-11
  • MySQL中int(n)后面的n到底代表的是什么意思

    MySQL中int(n)后面的n到底代表的是什么意思

    這篇文章主要介紹了MySQL中int(n)后面的n到底代表的是什么意思 ,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • MySQL中表索引定義的方法與介紹

    MySQL中表索引定義的方法與介紹

    這篇文章主要給大家介紹了關(guān)于MySQL中表索引定義的方法與介紹,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • MySQL中rank() over、dense_rank() over、row_number() over用法介紹

    MySQL中rank() over、dense_rank() over、row_number()&n

    本文主要介紹了MySQL中rank() over、dense_rank() over、row_number() over用法介紹,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 如何用mysqldump進(jìn)行全量和時(shí)間點(diǎn)備份

    如何用mysqldump進(jìn)行全量和時(shí)間點(diǎn)備份

    這篇文章主要介紹了如何用mysqldump進(jìn)行全量和時(shí)間點(diǎn)備份,幫助大家更好的管理MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-08-08
  • 淺談MySQL大表優(yōu)化方案

    淺談MySQL大表優(yōu)化方案

    這篇文章主要介紹了淺談MySQL大表優(yōu)化方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • mysql用戶創(chuàng)建與授權(quán)的簡(jiǎn)單實(shí)例

    mysql用戶創(chuàng)建與授權(quán)的簡(jiǎn)單實(shí)例

    MySQL等主流數(shù)據(jù)庫的最高權(quán)限一般是root用戶,有時(shí)我們需要提供數(shù)據(jù)庫的賬號(hào)和密碼以使用某些服務(wù),下面這篇文章主要給大家介紹了關(guān)于mysql用戶創(chuàng)建與授權(quán)的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • MySQL8?密碼強(qiáng)度評(píng)估與配置詳解

    MySQL8?密碼強(qiáng)度評(píng)估與配置詳解

    MySQL8默認(rèn)啟用密碼強(qiáng)度插件,實(shí)施MEDIUM策略(長(zhǎng)度8、含數(shù)字/字母/特殊字符),支持動(dòng)態(tài)調(diào)整與配置文件設(shè)置,推薦使用STRONG策略并定期更新密碼以提升安全性,本文給大家介紹MySQL8密碼強(qiáng)度評(píng)估與配置,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • MySQL樂觀鎖和悲觀鎖具體實(shí)現(xiàn)

    MySQL樂觀鎖和悲觀鎖具體實(shí)現(xiàn)

    這篇文章主要介紹了MySQL樂觀鎖和悲觀鎖具體實(shí)現(xiàn),文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09

最新評(píng)論