<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參數(shù)是啥,你知道嗎?

          共 3697字,需瀏覽 8分鐘

           ·

          2020-09-06 16:33

          前言:

          在前面一些文章中,經(jīng)常能看到介紹某某參數(shù)的作用,可能有些小伙伴仍搞不清楚 MySQL 參數(shù)是啥。本篇文章我們來聊聊 MySQL 參數(shù),學(xué)習(xí)下如何管理維護(hù) MySQL 參數(shù)。

          ? 1.MySQL參數(shù)概念

          我們所說的參數(shù)在官方文檔中稱為 系統(tǒng)變量(system variable),不同的變量有著不同的作用。MySQL 服務(wù)端維護(hù)了許多表示其配置的系統(tǒng)變量,所有變量均有默認(rèn)值。一般可以在啟動命令行中或配置文件中對它們進(jìn)行設(shè)置。

          系統(tǒng)變量分為全局系統(tǒng)變量(global)和會話系統(tǒng)變量(session)。有些變量既有全局變量又有會話變量,有些變量只有全局變量。全局變量影響服務(wù)器的全局操作,會話變量只影響具體客戶端連接相關(guān)操作。若會話變量未單獨設(shè)置,則繼承自相應(yīng)全局變量。

          MySQL 服務(wù)啟動時,會按照配置文件或命令行中指定的選項來給全局變量賦值,沒有指定則按默認(rèn)值處理。服務(wù)啟動后,通過連接服務(wù)器并執(zhí)行 SET GLOBAL var_name 語句可以動態(tài)更改部分全局變量的值。要想更改全局變量,必須具有 SUPER 權(quán)限。MySQL 還為每個客戶端連接維護(hù)會話變量,連接時使用相應(yīng)全局變量的當(dāng)前值對客戶端會話變量進(jìn)行初始化。客戶端可以通過 SET SESSION var_name 語句來動態(tài)更改會話變量。設(shè)置會話變量不需要特殊權(quán)限,但會話變量只作用于當(dāng)前連接。

          ? 2.參數(shù)查詢與變更示例

          這里也要說明下,并不是所有的參數(shù)都可以動態(tài)修改,某些參數(shù)只能寫入配置文件然后重啟數(shù)據(jù)庫才能生效。下面我們來展示下 MySQL 參數(shù)的查詢與修改。

          #?參數(shù)查詢
          show?global??variables?like?'var_name';??//查看全局系統(tǒng)變量的值,可使用%通配符
          show?session?variables?like?'var_name';??//查看會話系統(tǒng)變量的值
          show?????????variables?like?'var_name';??//優(yōu)先返回會話系統(tǒng)變量,若會話系統(tǒng)變量不存在,則返回全局系統(tǒng)變量。

          #?也可用select查詢某個特定參數(shù)
          select?@@global.var_name;??//全局系統(tǒng)變量
          select?@@session.var_name;??//會話系統(tǒng)變量
          select?@@var_name;??//優(yōu)先會話系統(tǒng)變量

          #?查詢示例
          mysql>?show?global?variables?like?'server_id';
          +---------------+---------+
          |?Variable_name?|?Value???|
          +---------------+---------+
          |?server_id?????|?1003306?|
          +---------------+---------+
          1?row?in?set?(0.00?sec)

          mysql>?show?global?variables?like?'log_bin%';
          +---------------------------------+-------------------------------+
          |?Variable_name???????????????????|?Value?????????????????????????|
          +---------------------------------+-------------------------------+
          |?log_bin?????????????????????????|?ON????????????????????????????|
          |?log_bin_basename????????????????|?/data/mysql/logs/binlog???????|
          |?log_bin_index???????????????????|?/data/mysql/logs/binlog.index?|
          |?log_bin_trust_function_creators?|?ON????????????????????????????|
          |?log_bin_use_v1_row_events???????|?OFF???????????????????????????|
          +---------------------------------+-------------------------------+
          5?rows?in?set?(0.00?sec)

          mysql>?select?@@server_id;
          +-------------+
          |?@@server_id?|
          +-------------+
          |?????1003306?|
          +-------------+
          1?row?in?set?(0.00?sec)

          #?動態(tài)修改參數(shù)
          set?global?var_name?=?value;
          set?session?var_name?=?value;
          set?var_name?=?value;

          set?@@global.var_name?=?value;
          set?@@session.var_name?=?value;
          set?@@var_name?=?value;

          #?參數(shù)修改示例
          mysql>?set?global?sort_buffer_size?=?2097152;
          Query?OK,?0?rows?affected?(0.00?sec)

          mysql>?set?session?sort_buffer_size?=?4194304;
          Query?OK,?0?rows?affected?(0.00?sec)

          mysql>?select?@@global.sort_buffer_size,@@session.sort_buffer_size;
          +---------------------------+----------------------------+
          |?@@global.sort_buffer_size?|?@@session.sort_buffer_size?|
          +---------------------------+----------------------------+
          |???????????????????2097152?|????????????????????4194304?|
          +---------------------------+----------------------------+
          1?row?in?set?(0.00?sec)

          參數(shù)動態(tài)修改后,建議將其寫入配置文件。因為動態(tài)修改的參數(shù)在 MySQL 服務(wù)重啟后會失效,只有寫入配置文件才能夠重啟后仍有效。對于一些無法動態(tài)修改的參數(shù),我們只能通過修改配置文件,然后重啟來使之生效。這里所說的配置文件就是 my.cnf 文件了,Linux 系統(tǒng)一般在 /etc 目錄下;Windows 系統(tǒng)一般在 basedir 目錄下,名稱可命名為 my.ini 。大部分參數(shù)需要配置在 [mysqld] 下,一份簡單的配置文件示例如下:

          vi?/etc/my.cnf
          #?簡單模板如下:
          [mysqld]
          user?=?mysql???????
          datadir?=?/data/mysql/data????????????????
          socket?=?/data/mysql/tmp/mysql.sock
          pid-file??=?/data/mysql/tmp/mysqld.pid???
          skip_name_resolve?=?1
          max_connections?=?2000
          lower_case_table_names?=?1
          log_timestamps=SYSTEM
          max_allowed_packet?=?32M
          ...

          MySQL 參數(shù)一般由 DBA 或運維來維護(hù),可能有些同學(xué)對這些參數(shù)還比較陌生。建議在數(shù)據(jù)庫初始化時,根據(jù)服務(wù)器規(guī)格設(shè)置對應(yīng)的數(shù)據(jù)庫參數(shù)。對于不清楚作用的參數(shù),建議保持默認(rèn)值即可。關(guān)于更多參數(shù)相關(guān)的內(nèi)容,可以參考官方文檔:

          • https://dev.mysql.com/doc/refman/5.7/en/server-system-variable-reference.html

          總結(jié):

          本篇文章詳細(xì)講述了 MySQL 參數(shù)相關(guān)概念及查詢更改方法,希望各位小伙伴能學(xué)到相關(guān)知識。很早之前寫過一篇介紹常用參數(shù)的文章,有興趣的同學(xué)也可以看看哦。

          推薦閱讀


          (點擊標(biāo)題可跳轉(zhuǎn)閱讀)

          MySQL redo與undo日志解析

          MySQL中的這幾類日志,你一定要知道

          MySQL5.7應(yīng)當(dāng)注意的參數(shù)

          - End -

          動動手指轉(zhuǎn)發(fā)、在看
          是對我最大的鼓勵

          瀏覽 131
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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 |