久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時隨地免費學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > MySQL自我保護(hù)參數(shù)

        MySQL自我保護(hù)參數(shù)

        來源:千鋒教育
        發(fā)布人:xqq
        時間: 2023-12-05 16:54:08 1701766448

        MySQL自我保護(hù)參數(shù),本文再過修改數(shù)據(jù)庫參數(shù)的方式達(dá)到阻斷長時間運(yùn)行的SQL的目的

        1、參數(shù)介紹

        mysql5.6及以后,數(shù)據(jù)庫端新增了新變量來限制語句較大執(zhí)行時間,用于在服務(wù)端對select語句進(jìn)行超時時間限制,能有效控制在數(shù)據(jù)庫(建議在主庫)的慢查詢情況,以達(dá)到保護(hù)數(shù)據(jù)庫穩(wěn)定性的目的。

        不過mysql5.7.8版本前后參數(shù)名有變更,例如:

        mysql5.6 - mysql5.7.8前的版本中,參數(shù)名為:max_statement_time (毫秒)

        mysql5.7.8及以后,參數(shù)改成:max_execution_time (毫秒)

        另外,該參數(shù)有g(shù)lobal 及session 2種級別,即可在部分會話中動態(tài)調(diào)整本會話的超時時間。

        2. 操作演示

        在測試環(huán)境建一張大表用來演示,該案例可查看歷史文章或批量造數(shù)據(jù)實現(xiàn)。

        因當(dāng)前基本都使用5.7及以后版本,因此本次使用MySQL5.7版本數(shù)據(jù)庫進(jìn)行演示。

        2.1 參數(shù)默認(rèn)值

        mysql> show global variables like 'max_execution_time';

        +--------------------+-------+

        | Variable_name | Value |

        +--------------------+-------+

        | max_execution_time | 0 |

        +--------------------+-------+

        1 row in set (0.01 sec)

        默認(rèn)值為0,代表不限制較大執(zhí)行時間。

        例如執(zhí)行如下SQL時,運(yùn)行3s+

        mysql> select count(*) from test1;

        +----------+

        | count(*) |

        +----------+

        | 21991575 |

        +----------+

        1 row in set (3.89 sec)

        2.2 修改參數(shù)演示

        修改本會話的參數(shù)(session級別),演示本次會話的情況,這樣不會影響其他會話的運(yùn)行,如需整個實例調(diào)整,則修改全局變量即可。

        mysql> set session max_execution_time=1000;

        Query OK, 0 rows affected (0.00 sec)

        mysql> show global variables like 'max_execution_time';

        +--------------------+-------+

        | Variable_name | Value |

        +--------------------+-------+

        | max_execution_time | 0 |

        +--------------------+-------+

        1 row in set (0.01 sec)

        mysql> show variables like 'max_execution_time';

        +--------------------+-------+

        | Variable_name | Value |

        +--------------------+-------+

        | max_execution_time | 1000 |

        +--------------------+-------+

        1 row in set (0.00 sec)

        此時執(zhí)行查詢,則會因為超過1s而被中斷

        mysql> select count(*) from test1;

        ERROR 3024 (HY000): Query execution was interrupted, maximum statement execution time exceeded

        PS:修改全局變量后,注意已經(jīng)連接的會話是不生效的,另外,此參數(shù),只對select起作用,對DDL及UPDATE、delete操作不生效,例如:

        mysql> set session max_execution_time=1000;

        Query OK, 0 rows affected (0.00 sec)

        mysql> alter table test1 add tt int ;

        Query OK, 0 rows affected (25.65 sec)

        Records: 0 Duplicates: 0 Warnings: 0

        3. 小結(jié)

        生產(chǎn)環(huán)境較常見的情況是業(yè)務(wù)代碼已經(jīng)超時退出了與數(shù)據(jù)庫的交互,但是數(shù)據(jù)庫里依舊運(yùn)行著發(fā)起的SQL,如果頻繁發(fā)起重試,則,慢SQL會越來越多,導(dǎo)致數(shù)據(jù)庫負(fù)載高,影響穩(wěn)定性及可用性。因此,建議部署pt-kill工具或者修改較大執(zhí)行時間參數(shù),避免長時間運(yùn)行select語句運(yùn)行。

        相對于pt-kill工具,修改參數(shù)的方式較便捷,但局限性較大,因此需要根據(jù)業(yè)務(wù)需要進(jìn)行部署。

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
        免費領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        嵌入式培訓(xùn)課程:探索技術(shù)的無限可能

        近年來,嵌入式系統(tǒng)的廣泛應(yīng)用已經(jīng)深刻改變了我們的生活方式。從智能手機(jī)到智能家居,從汽車到醫(yī)療設(shè)備,嵌入式技術(shù)已經(jīng)成為現(xiàn)代社會不可或缺的...詳情>>

        2023-12-12 11:02:35
        嵌入式開發(fā):Linux網(wǎng)絡(luò)編程的探索與實踐

        在當(dāng)今的科技世界中,嵌入式系統(tǒng)已經(jīng)滲透到我們生活的方方面面,從智能手機(jī)、電視、汽車到醫(yī)療設(shè)備等。而在這些設(shè)備中,Linux網(wǎng)絡(luò)編程扮演著至...詳情>>

        2023-12-12 09:55:55
        Java游戲項目開發(fā):技術(shù)概覽與實踐

        在數(shù)字化世界中,游戲已經(jīng)成為了人們休閑娛樂的重要方式之一。隨著科技的不斷進(jìn)步,游戲開發(fā)行業(yè)也在不斷發(fā)展,而Java作為一門廣泛使用的編程語...詳情>>

        2023-12-12 08:49:15
        Web前端的基石:HTML

        在數(shù)字化的時代,網(wǎng)頁設(shè)計已經(jīng)成為了一個重要的領(lǐng)域。而在這個領(lǐng)域中,HTML(HyperTextMarkupLanguage)無疑是最基礎(chǔ)、最重要的一環(huán)。它是構(gòu)建...詳情>>

        2023-12-12 08:15:55
        嵌入式開發(fā):內(nèi)存分配的方式

        嵌入式系統(tǒng)開發(fā)中,內(nèi)存分配是一個至關(guān)重要的話題。嵌入式系統(tǒng)通常具有有限的內(nèi)存資源,因此合理的內(nèi)存分配方式對系統(tǒng)的性能和穩(wěn)定性至關(guān)重要。...詳情>>

        2023-12-12 06:35:55
        快速通道
        休宁县| 米脂县| 封丘县| 厦门市| 榕江县| 宽甸| 绥芬河市| 习水县| 卢龙县| 宁波市| 朝阳区| 桑日县| 龙州县| 乌兰浩特市| 新干县| 林甸县| 娄烦县| 兴仁县| 固镇县| 会理县| 邵阳市| 卢龙县| 黄石市| 琼中| 沙坪坝区| 三河市| 左权县| 高邮市| 文登市| 会同县| 张家港市| 黄浦区| 北辰区| 石柱| 会东县| 聊城市| 甘孜| 五莲县| 开远市| 巩义市| 炉霍县|