<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 2420字,需瀏覽 5分鐘

           ·

          2021-12-11 19:24

          點(diǎn)擊上方藍(lán)字關(guān)注我

          上文(MySQL自我保護(hù)工具--pt-kill ) 提到用pt-kill工具來(lái)kill相關(guān)的會(huì)話,來(lái)達(dá)到保護(hù)數(shù)據(jù)庫(kù)的目的,本文再通過(guò)修改數(shù)據(jù)庫(kù)參數(shù)的方式達(dá)到阻斷長(zhǎng)時(shí)間運(yùn)行的SQL的目的。

          1、參數(shù)介紹

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

          不過(guò)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種級(jí)別,即可在部分會(huì)話中動(dòng)態(tài)調(diào)整本會(huì)話的超時(shí)時(shí)間。

          2. 操作演示

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

          因當(dāng)前基本都使用5.7及以后版本,因此本次使用MySQL5.7版本數(shù)據(jù)庫(kù)進(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í)行時(shí)間。

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

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

          2.2 修改參數(shù)演示

          修改本會(huì)話的參數(shù)(session級(jí)別),演示本次會(huì)話的情況,這樣不會(huì)影響其他會(huì)話的運(yùn)行,如需整個(gè)實(shí)例調(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)

          此時(shí)執(zhí)行查詢,則會(huì)因?yàn)槌^(guò)1s而被中斷

          mysql> select  count(*) from  test1;ERROR?3024?(HY000):?Query?execution?was?interrupted,?maximum?statement?execution?time?exceeded

          PS:修改全局變量后,注意已經(jīng)連接的會(huì)話是不生效的,另外,此參數(shù),只對(duì)select起作用,對(duì)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)境較常見(jiàn)的情況是業(yè)務(wù)代碼已經(jīng)超時(shí)退出了與數(shù)據(jù)庫(kù)的交互,但是數(shù)據(jù)庫(kù)里依舊運(yùn)行著發(fā)起的SQL,如果頻繁發(fā)起重試,則,慢SQL會(huì)越來(lái)越多,導(dǎo)致數(shù)據(jù)庫(kù)負(fù)載高,影響穩(wěn)定性及可用性。因此,建議部署pt-kill工具或者修改最大執(zhí)行時(shí)間參數(shù),避免長(zhǎng)時(shí)間運(yùn)行select語(yǔ)句運(yùn)行。

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

          往期精彩回顧

          1.??MySQL高可用之MHA集群部署

          2.??mysql8.0新增用戶及加密規(guī)則修改的那些事

          3.? 比hive快10倍的大數(shù)據(jù)查詢利器-- presto

          4. ?監(jiān)控利器出鞘:Prometheus+Grafana監(jiān)控MySQL、Redis數(shù)據(jù)庫(kù)

          5.? PostgreSQL主從復(fù)制--物理復(fù)制

          6.??MySQL傳統(tǒng)點(diǎn)位復(fù)制在線轉(zhuǎn)為GTID模式復(fù)制

          7.??MySQL敏感數(shù)據(jù)加密及解密

          8.??MySQL數(shù)據(jù)備份及還原(一)

          9.??MySQL數(shù)據(jù)備份及還原(二)

          掃碼關(guān)注?????

          瀏覽 74
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品久久久无码 | 久久久久久高清毛片一级 | 影音先锋av熟妇 影音先锋痴女无码 | 这里只有精品2001 | 成人在线黄色视频网站 |