日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > MySQL自我保護參數

MySQL自我保護參數

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

MySQL自我保護參數,本文再過修改數據庫參數的方式達到阻斷長時間運行的SQL的目的

1、參數介紹

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

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

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

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

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

2. 操作演示

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

因當前基本都使用5.7及以后版本,因此本次使用MySQL5.7版本數據庫進行演示。

2.1 參數默認值

mysql> show global variables like 'max_execution_time';

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

| Variable_name | Value |

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

| max_execution_time | 0 |

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

1 row in set (0.01 sec)

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

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

mysql> select count(*) from test1;

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

| count(*) |

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

| 21991575 |

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

1 row in set (3.89 sec)

2.2 修改參數演示

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

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:修改全局變量后,注意已經連接的會話是不生效的,另外,此參數,只對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. 小結

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

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

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

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

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

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

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

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

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

在數字化的時代,網頁設計已經成為了一個重要的領域。而在這個領域中,HTML(HyperTextMarkupLanguage)無疑是最基礎、最重要的一環(huán)。它是構建...詳情>>

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

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

2023-12-12 06:35:55
主站蜘蛛池模板: 石城县| 廊坊市| 翁牛特旗| 镇康县| 丹棱县| 嘉荫县| 新竹县| 榕江县| 建平县| 右玉县| 肇州县| 琼海市| 开阳县| 二连浩特市| 环江| 吉首市| 磐石市| 遵义县| 大渡口区| 桃园市| 弥勒县| 伊吾县| 穆棱市| 绿春县| 商城县| 屯昌县| 蓝山县| 墨江| 邢台县| 广昌县| 阜城县| 横峰县| 玉门市| 会理县| 临高县| 洛浦县| 洛隆县| 晋城| 静宁县| 宝丰县| 台北县|