成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL自我保護參數,以達到保護數據庫穩定性的目的

數據庫 MySQL
本文再通過修改數據庫參數的方式達到阻斷長時間運行的SQL的目的。

之前(MySQL自我保護工具--pt-kill ) 提到用pt-kill工具來kill相關的會話,來達到保護數據庫的目的,本文再通過修改數據庫參數的方式達到阻斷長時間運行的SQL的目的。

1、參數介紹

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

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

mysql5.6 - mysql5.7.8前的版本中,參數名為:max_statement_time (毫秒) 
mysql5.7.8及以后,參數改成:max_execution_time (毫秒)

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

2、操作演示

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

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

(1)參數默認值

mysql> show global variables like 'max_execution_time';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| max_execution_time | 0 |
+--------------------+-------+
1 row in set (0.01 sec)

默認值為0,代表不限制最大執行時間。

例如執行如下SQL時,運行3s+。

mysql> select  count(*) from  test1;
+----------+
| count(*) |
+----------+
| 21991575 |
+----------+
1 row in set (3.89 sec)

(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)

此時執行查詢,則會因為超過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、小結

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

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

責任編輯:姜華 來源: 今日頭條
相關推薦

2014-03-05 10:34:46

2023-04-26 18:36:13

2019-07-31 14:34:00

數據庫MySQLJava

2009-10-30 18:10:05

2023-05-23 17:10:20

2013-03-07 10:09:15

2017-11-02 09:22:26

自我保護NAS

2020-07-28 08:07:14

ElasticSear

2020-07-13 08:10:13

軟件設計系統

2023-03-01 18:32:16

系統監控數據

2022-05-05 19:20:24

數據系統穩定性峰會數據系統

2023-10-09 07:24:58

數據穩定性治理數據處理

2009-07-27 10:08:14

2010-08-16 14:21:13

2023-06-30 08:43:36

2022-09-15 08:33:27

安全生產系統Review

2009-11-24 13:33:49

2022-05-12 18:09:18

Kubernetes公有云

2009-12-23 18:18:04

2021-01-04 10:24:22

物聯網安全數據庫隱私保護
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产日韩久久 | 欧美一级黄色免费看 | 国产欧美一区二区三区日本久久久 | 日韩成人在线观看 | 欧美日韩久久精品 | 有码一区 | 午夜视频一区二区 | 一级毛片免费 | 美国av毛片| 一区二区三区亚洲精品国 | 国产精品国产三级国产aⅴ入口 | 欧美日韩一区二区三区四区 | 日本不卡一区二区三区 | 亚洲精品乱码久久久久久黑人 | 欧美日韩国产一区二区三区不卡 | 精品国产乱码久久久久久闺蜜 | 欧美视频1区 | 中文字幕不卡 | 999精彩视频 | 天堂在线一区 | av第一页 | 99热都是精品 | 一级片视频免费 | 亚洲精品白浆高清久久久久久 | 最新国产福利在线 | 国产主播第一页 | 久久爱综合 | 99精品国自产在线观看 | 一区二区三区国产 | 羞羞视频免费观 | 久久综合久久综合久久 | 日韩三片 | 一区二区精品 | 精品国产精品一区二区夜夜嗨 | 日本a级大片 | 亚洲综合区| 国产精品视频网 | a级毛片毛片免费观看久潮喷 | 色综合久久伊人 | 久久久久久久亚洲精品 | 久久久观看 |