最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 表新增字段時報丟失連接錯誤

 更新時間:2026年01月25日 14:31:28   作者:一線大碼  
MySQL在新增字段時遇到"Lost connection to MySQL server during query"錯誤,可能由于網(wǎng)絡(luò)問題、查詢超時或內(nèi)存不足等原因,下面就來詳細(xì)的介紹一下該問題的解決,感興趣的可以了解一下

1. 問題描述

有一張MySQL數(shù)據(jù)庫表,業(yè)務(wù)變動,需要新增一個業(yè)務(wù)字段,于是直接用下面的SQL語句進行字段新增:

ALTER TABLE table_name ADD `add_field` tinyint(1) DEFAULT NULL COMMENT '新增字段';

使用Navicat for MySQL執(zhí)行該語句會報一個錯誤,如下圖所示:

2013 - Lost connection to MySQL server during query,翻譯過來就是在查詢過程中,MySQL服務(wù)器失去連接。

該問題是大約一年前遇到的(2020年我寫的文章),最近整理筆記看到了,趁有時間做一些整理記錄。但是當(dāng)時的具體環(huán)境已經(jīng)無法復(fù)現(xiàn)了。

2. 官方文檔

MySQL 官方文檔的附錄中有一篇是講 MySQL 服務(wù)器連接斷開。下面是我翻譯的內(nèi)容:

此錯誤消息有三個可能的原因。

通常它表示網(wǎng)絡(luò)連接有問題,如果這個錯誤經(jīng)常發(fā)生,你應(yīng)該檢查一下你的網(wǎng)絡(luò)狀況。如果提示的錯誤消息包含"during query"字符,那么您遇到的情況可能就是這種原因。

有時,當(dāng)幾百萬行作為一個或多個查詢的一部分被發(fā)送時,就會發(fā)生"during query"表單。如果您知道發(fā)生了這種情況,那么您應(yīng)該嘗試將net_read_timeout從默認(rèn)的30秒增加到60秒或足以完成數(shù)據(jù)傳輸?shù)母L時間。

更少見的情況是,當(dāng)客戶端試圖初始化連接到服務(wù)器時,會發(fā)生這種情況。在這種情況下,如果connect_timeout值被設(shè)置為幾秒,那么您可以通過將其增加到10秒來解決問題,如果您的連接距離很長或速度較慢,那么時間可能會更長。你可以通過查詢Aborted_connects來確定你是否正在經(jīng)歷這種更不常見的原因。服務(wù)器每中止一個初始連接嘗試,它的值就會增加1。如果錯誤消息包括"reading authorization packet",表明這正是您所需要的解決方案。

SHOW GLOBAL STATUS LIKE 'Aborted_connects'

如果原因不是以上所述的,你可能遇到了BLOB值大于max_allowed_packet的問題,這可能導(dǎo)致某些客戶端出現(xiàn)此錯誤。有時你可能還會看到一個ER_NET_PACKET_TOO_LARGE錯誤,可以確定是需要提高max_allowed_packet值了。

SHOW VARIABLES LIKE '%max_allowed_packet%';

3. 解決辦法

通過查閱官方文檔,不難看出其實比較符合第一條解釋。結(jié)合當(dāng)時那家公司的網(wǎng)絡(luò),確實經(jīng)常的時斷時續(xù)的,網(wǎng)絡(luò)環(huán)境比較差。

MySQL的這個錯誤除了官方說的幾種情況,還需要針對自己的業(yè)務(wù)場景進行適當(dāng)探索和甄別,具體情況具體分析。這里再記錄一下另一種可能,因為ALTER TABLE操作是比較耗時的,所以也很有可能是因為超時原因報的錯誤。查詢關(guān)于超時時間的系統(tǒng)變量:

SHOW VARIABLES LIKE '%timeout%';

高性能MySQL這本書的第四章Schema與數(shù)據(jù)優(yōu)化提到了以下內(nèi)容:

MySQL的ALTER TABLE操作的性能對大表來說是個問題。MySQL執(zhí)行大部分修改表結(jié)構(gòu)操作的方法是用新的結(jié)構(gòu)創(chuàng)建一個空表,從舊表中查出所有數(shù)據(jù)插入新表,然后刪除舊表。這樣操作可能需要花費很長時間,如果內(nèi)存不足表又很大,而且還有很多索引的情況下尤其如此。

一般而言,大部分ALTER TABLE操作將導(dǎo)致MySQL服務(wù)中斷。對于常見場景,能使用的技巧只有兩種:一種是先在一臺不提供服務(wù)的機器上執(zhí)行ALTER TABLE操作,然后和提供服務(wù)的主庫進行切換;另一種技巧是影子拷貝,就是用要求的表結(jié)構(gòu)創(chuàng)建一張與源表無關(guān)的新表,然后通過重命名和刪表操作交換兩張表。

ALTER TABLE允許使用ALTER COLUMN、MODIFY COLUMN、CHANGE COLUMN三種語句修改列。這三種操作都是不一樣的。

可以結(jié)合MySQL錯誤日志,找到需要修改的系統(tǒng)變量,進行相應(yīng)修改即可。

到此這篇關(guān)于MySQL 表新增字段時報丟失連接錯誤的文章就介紹到這了,更多相關(guān)MySQL 表新增字段時丟失內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • MySQL 啟動失敗(code=exited, status=1/FAILURE)異常解決方案

    MySQL 啟動失敗(code=exited, status=1/FAILURE)異常解決方案

    在MySQL服務(wù)啟動時遇到啟動失敗問題,通過查看和分析錯誤日志文件,找到并解決了配置文件中的錯誤項,成功重啟了MySQL服務(wù).文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • MySQL清理binlog日志文件命令詳解

    MySQL清理binlog日志文件命令詳解

    這篇文章主要介紹了MySQL清理binlog日志文件命令方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • MySQL開啟慢查詢?nèi)罩緇og-slow-queries的方法

    MySQL開啟慢查詢?nèi)罩緇og-slow-queries的方法

    MySQL中提供了一個慢查詢的日志記錄功能,可以把查詢SQL語句時間大于多少秒的語句寫入慢查詢?nèi)罩?,日常維護中可以通過慢查詢?nèi)罩镜挠涗浶畔⒖焖贉?zhǔn)確地判斷問題所在
    2016-05-05
  • 阿里云ECS云服務(wù)器(linux系統(tǒng))安裝mysql后遠(yuǎn)程連接不了(踩坑)

    阿里云ECS云服務(wù)器(linux系統(tǒng))安裝mysql后遠(yuǎn)程連接不了(踩坑)

    這篇文章主要介紹了阿里云ECS云服務(wù)器(linux系統(tǒng))安裝mysql后遠(yuǎn)程連接不了(踩坑),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • mysql優(yōu)化之路----hash索引優(yōu)化

    mysql優(yōu)化之路----hash索引優(yōu)化

    本文是筆者自己做的關(guān)于mysql的優(yōu)化方面的小測試,暫時僅僅做了hash索引優(yōu)化的測試,以后會做更多方面,希望能夠給您帶來收獲,祝您工作愉快。
    2014-08-08
  • MySQL慢查詢排查與優(yōu)化指南

    MySQL慢查詢排查與優(yōu)化指南

    本文介紹了MySQL慢查詢?nèi)罩镜拈_啟與分析,首先,介紹了如何開啟慢查詢?nèi)罩?包括臨時開啟和永久開啟的方法,然后闡述了如何抓取慢SQL、分析SQL執(zhí)行計劃以及優(yōu)化SQL/索引的方法,需要的朋友可以參考下
    2026-04-04
  • mysql數(shù)據(jù)庫卡頓問題排查過程

    mysql數(shù)據(jù)庫卡頓問題排查過程

    介紹了四種排查數(shù)據(jù)庫問題的方法,包括查看SQL運行情況、庫和表信息、數(shù)據(jù)庫配置情況以及重啟數(shù)據(jù)庫,每種方法都有具體的操作步驟和注意事項,旨在幫助讀者解決數(shù)據(jù)庫資源不足、死鎖等問題
    2025-02-02
  • CentOS 7.2下MySQL的安裝與相關(guān)配置

    CentOS 7.2下MySQL的安裝與相關(guān)配置

    最近因為工作需要,要在CentOS上安裝MySQL,在安裝的時候遇到了一點問題,花了點時間解決了,感覺不管是官網(wǎng)還是網(wǎng)上的一些教程都不夠完整,不能一次性幫新手解決問題,于是我就結(jié)合官網(wǎng)和網(wǎng)上的資源整理了下,現(xiàn)在分享給大家,希望對有需要的朋友們能有所幫助。
    2016-11-11
  • MySQL EXPLAIN輸出列的詳細(xì)解釋

    MySQL EXPLAIN輸出列的詳細(xì)解釋

    這篇文章主要給大家介紹了關(guān)于MySQL EXPLAIN輸出列的詳細(xì)解釋,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 快速在Windows上安裝MySQL5.7壓縮包

    快速在Windows上安裝MySQL5.7壓縮包

    這篇文章主要介紹了快速在Windows上安裝MySQL5.7壓縮包的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-06-06

最新評論

淮安市| 营口市| 南安市| 邹平县| 定陶县| 呼伦贝尔市| 军事| 阳城县| 铜陵市| 绥滨县| 高雄市| 赤壁市| 洞口县| 龙泉市| 延安市| 德庆县| 砚山县| 从化市| 屏东市| 霞浦县| 汕头市| 清镇市| 锦州市| 奉贤区| 利辛县| 章丘市| 巴东县| 惠东县| 龙山县| 衡阳县| 黎川县| 福鼎市| 孙吴县| 乌兰浩特市| 铜川市| 廊坊市| 敦煌市| 平山县| 渝北区| 绥德县| 洛扎县|