• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    MySQL環境變量(運作參數)詳細配置

    來源:懂視網 責編:小采 時間:2020-11-09 14:01:37
    文檔

    MySQL環境變量(運作參數)詳細配置

    MySQL環境變量(運作參數)詳細配置:MySQL環境變量(運行參數)詳細配置 調整MySQL運行參數,修改/etc/my.cnf文件調整mysql運行參數,重啟MySQL后生效。 在MySQL4版本以后, 一部分內部變量可以在MySQL運行時用cmd set xxx=xxx 進行設置,不過重啟MySQL服務就失效了。 紅色為常用的變量
    推薦度:
    導讀MySQL環境變量(運作參數)詳細配置:MySQL環境變量(運行參數)詳細配置 調整MySQL運行參數,修改/etc/my.cnf文件調整mysql運行參數,重啟MySQL后生效。 在MySQL4版本以后, 一部分內部變量可以在MySQL運行時用cmd set xxx=xxx 進行設置,不過重啟MySQL服務就失效了。 紅色為常用的變量

    MySQL環境變量(運行參數)詳細配置 調整MySQL運行參數,修改/etc/my.cnf文件調整mysql運行參數,重啟MySQL后生效。 在MySQL4版本以后, 一部分內部變量可以在MySQL運行時用cmd set xxx=xxx 進行設置,不過重啟MySQL服務就失效了。 ? 紅色為常用的變量 mysqld程

    MySQL環境變量(運行參數)詳細配置

    調整MySQL運行參數,修改/etc/my.cnf文件調整mysql運行參數,重啟MySQL后生效。

    在MySQL4版本以后,一部分內部變量可以在MySQL運行時用cmd set xxx=xxx 進行設置,不過重啟MySQL服務就失效了。

    ?

    紅色為常用的變量


    mysqld程序--目錄和文件
    basedir = path????????? # 使用給定目錄作為根目錄(安裝目錄)。
    datadir = path????????? # 從給定目錄讀取數據庫文件。
    pid-file = filename????? # 為mysqld程序指定一個存放進程ID的文件(僅適用于UNIX/Linux系統);?
    ??
    [mysqld]????????????????????????
    socket = /tmp/mysql.sock???? # 為MySQL客戶程序與服務器之間的本地通信指定一個套接字文件(Linux下默認是/var/lib/mysql/mysql.sock文件)


    port ?= 3306????? # 指定MsSQL偵聽的端口?


    key_buffer = 384M????? # key_buffer是用于索引塊的緩沖區大小,增加它可得到更好處理的索引(對所有讀和多重寫)。索引塊是緩沖的并且被所有的線程共享,key_buffer的大小視內存大小而定。


    table_cache ?= 512?????? # 為所有線程打開表的數量。增加該值能增加mysqld要求的文件描述符的數量。可以避免頻繁的打開數據表產生的開銷。


    sort_buffer_size = 2M??????? # 每個需要進行排序的線程分配該大小的一個緩沖區。增加這值加速ORDER BY或GROUP BY操作。


    ?注意:該參數對應的分配內存是每連接獨占!如果有100個連接,那么實際分配的總共排序緩沖區大小為100×6=600MB。


    read_buffer_size = 2M??????? # 讀查詢操作所能使用的緩沖區大小。和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享。


    query_cache_size = 32M?????? # 指定MySQL查詢結果緩沖區的大小。


    read_rnd_buffer_size ?= 8M ? ? ? # 改參數在使用行指針排序之后,隨機讀用的。


    myisam_sort_buffer_size =64M ? ? ? # MyISAM表發生變化時重新排序所需的緩沖。


    thread_concurrency ?= 8 ? ? ? # 最大并發線程數,取值為服務器邏輯CPU數量×2,如果CPU支持H.T超線程,再×2


    thread_cache = 8 ? ? ? ? ? ?#緩存可重用的線程數


    skip-locking???????????????? # 避免MySQL的外部鎖定,減少出錯幾率增強穩定性。


    [mysqldump]
    max_allowed_packet =16M ? ? ? ? ?# 服務器和客戶端之間最大能發送的可能信息包?
    ??
    [myisamchk]
    key_buffer?? = 256M
    sort_buffer? = 256M
    read_buffer? = 2M
    write_buffer = 2M?
    ??
    其他可選參數:?
    back_log = 384
    ??? 指定MySQL可能的連接數量。
    ??? 當MySQL主線程在很短時間內接收到非常多的連接請求,該參數生效,主線程花費很短時間檢查連接并且啟動一個新線程。?
    ??? back_log參數的值指出在MySQL暫時停止響應新請求之前的短時間內多少個請求可以被存在堆棧中。
    ??? 如果系統在一個短時間內有很多連接,則需要增大該參數的值,該參數值指定到來的TCP/IP連接的偵聽隊列的大小。
    ??? 試圖設定back_log高于你的操作系統的限制將是無效的。默認值為50。對于Linux系統推薦設置為小于512的整數。?


    max_connections = n?
    ??? MySQL服務器同時處理的數據庫連接的最大數量(默認設置是100)。超過限制后會報 Too many connections 錯誤。

    ?

    record_buffer:
    ??? 每個進行一個順序掃描的線程為其掃描的每張表分配這個大小的一個緩沖區。如果你做很多順序掃描,你可能想要增加該值。默認數值是131072(128K)


    wait_timeout:
    ??? 服務器在關閉它之前在一個連接上等待行動的秒數。


    interactive_timeout:
    ??? 服務器在關閉它前在一個交互連接上等待行動的秒數。
    ??? 一個交互的客戶被定義為對 mysql_real_connect()使用 CLIENT_INTERACTIVE 選項的客戶。
    ??? 默認數值是28800,可以把它改為3600。?


    skip-name-resolve????????????
    ??? 禁止MySQL對外部連接進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。
    ??? 但需要注意,如果開啟該選項,則所有遠程主機連接授權都要使用IP地址方式,否則MySQL將無法正常處理連接請求!


    log-slow-queries = slow.log ? ? ? ? ? ? ? ? ? ???記錄慢查詢
    ??????????
    # > SHOW VARIABLES LIKE '%query_cache%';
    # > SHOW STATUS LIKE 'Qcache%';
    如果Qcache_lowmem_prunes的值非常大,則表明經常出現緩沖不夠的情況;
    如果Qcache_hits的值非常大,則表明查詢緩沖使用非常頻繁,如果該值較小反而會影響效率,那么可以考慮不用查詢緩沖;
    如果Qcache_free_blocks的值非常大,則表明緩沖區中碎片很多。
    ?
    ?
    ##########################################
    ######????? max_allowed_packet????? ######
    ##########################################

    通信信息包是發送至MySQL服務器的單個SQL語句,或發送至客戶端的單一行。?
    在MySQL 5.1服務器和客戶端之間最大能發送的可能信息包為1GB。?
    當MySQL客戶端或mysqld服務器收到大于max_allowed_packet字節的信息包時,將發出“信息包過大”錯誤,并關閉連接。對于某些客戶端,如果通信信息包過大,在執行查詢期間,了能回遇到“丟失與MySQL服務器的連接”(lose connection during query...)錯誤。?

    客戶端和服務器均有自己的max_allowed_packet變量,因此,如你打算處理大的信息包,必須增加客戶端和服務器上的該變量。?
    如果你正在使用mysql客戶端程序,其max_allowed_packet變量的默認值為16MB。要想設置較大的值,可用下述方式啟動mysql:?
    mysql> mysql --max_allowed_packet=32M
    它將信息包的大小設置為32MB。?
    服務器的默認max_allowed_packet值為1MB。如果服務器需要處理大的查詢,可增加該值(例如,如果準備處理大的BLOB列)。
    ?
    也能使用選項文件來設置max_allowed_packet。要想將服務器的該變量設置為16MB,可在選項文件中增加下行內容:?
    [mysqld]
    max_allowed_packet=16M?


    增加該變量的值十分安全,這是因為僅當需要時才會分配額外內存。例如,僅當你發出長查詢或mysqld必須返回大的結果行時mysqld才會分配更多內存。該變量之所以取較小默認值是一種預防措施,以捕獲客戶端和服務器之間的錯誤信息包,并確保不會因偶然使用大的信息包而導致內存溢出。

    ?
    如果你正是用大的BLOB值,而且未為mysqld授予為處理查詢而訪問足夠內存的權限,也會遇到與大信息包有關的奇怪問題。如果懷疑出現了該情況,請嘗試在mysqld_safe腳本開始增加ulimit -d 256000,并重啟mysqld。

    ?

    ?

    ?

    ##########################################
    #####?? MySQL怎樣打開和關閉數據庫表? #####
    ##########################################

    table_cache, max_connections和max_tmp_tables影響服務器保持打開的文件的最大數量。如果你增加這些值的一個或兩個,你可以遇到你的操作系統每個進程打開文件描述符的數量上強加的限制。然而,你可以能在許多系統上增加該限制。請教你的OS文檔找出如何做這些,因為改變限制的方法各系統有很大的不同。?


    table_cache與max_connections有關。例如,對于200個打開的連接,你應該讓一張表的緩沖至少有200 * n,這里n是一個聯結(join)中表的最大數量。

    ?

    show variables like '%slow%'

    ?

    Max_used_connections/max_connections =0.85 ---Max_connections

    Key_cache_miss_rate=key_reads/key_read_requests 0.1%--Key_buffer_size 對myisam表有效

    key_blocks_used/(key_blocks_used+key_blocks_used)--Key_buffer_size 對myisam表有效

    Created_tmp_disk_tables / Created_tmp_tables <=0.25 --對應的變量:tmp_table_size,max_heap_table_size


    Open_tables 量比較大,可以調整參數table_cache

    thread_created 過大,請配置 thread_cache_size

    查詢緩存(query cache)

      Qcache_free_blocks:緩存中相鄰內存塊的個數。數目大說明可能有碎片。FLUSH QUERY CACHE會對緩存中的碎片進行整理,從而得到一個空閑塊。

      Qcache_free_memory:緩存中的空閑內存。

      Qcache_hits:每次查詢在緩存中命中時就增大

      Qcache_inserts:每次插入一個查詢時就增大。命中次數除以插入次數就是不中比率。

      Qcache_lowmem_prunes:緩存出現內存不足并且必須要進行清理以便為更多查詢提供空間的次數。這個數字最好長時間來看;如果這個數字在不斷增長,就表示可能碎片非常嚴重,或者內存很少。(上面的 free_blocks和free_memory可以告訴您屬于哪種情況)

      Qcache_not_cached:不適合進行緩存的查詢的數量,通常是由于這些查詢不是 SELECT 語句或者用了now()之類的函數。

      Qcache_queries_in_cache:當前緩存的查詢(和響應)的數量。

      Qcache_total_blocks:緩存中塊的數量。


    查詢緩存參數配置:


    query_cache_limit | 2097152 | 超過此大小的查詢將不緩存

      | query_cache_min_res_unit | 4096 | 緩存塊的最小大小 4K,過大,容易造成碎片和浪費

      | query_cache_size | 203423744 | 查詢緩存大小

      | query_cache_type | ON | 緩存類型,決定緩存什么樣的查詢,示例中表示不緩存 select sql_no_cache 查詢

    ? ? ? ?| query_cache_wlock_invalidate | OFF |當有其他客戶端正在對MyISAM表進行寫操作時,如果查詢在query cache中,是否返回cache結果還是等寫操作完成再讀表獲取結果。

    ?

    查詢緩存碎片率 = Qcache_free_blocks / Qcache_total_blocks * 100%?
    ----如果查詢緩存碎片率超過20%,可以用FLUSH QUERY CACHE整理緩存碎片,或者試試減小query_cache_min_res_unit,如果你的查詢都是小數據量的話。

    ?

    查詢緩存利用率 = (query_cache_size - Qcache_free_memory) / query_cache_size * 100%?


    ---查詢緩存利用率在25%以下的話說明query_cache_size設置的過大,可適當減小;查詢緩存利用率在80%以上而且Qcache_lowmem_prunes > 50的話說明query_cache_size可能有點小,要不就是碎片太多。

    ?

    查詢緩存命中率 = (Qcache_hits - Qcache_inserts) / Qcache_hits * 100%

    ?

    排序使用情況:

    Sort_merge_passes | 29 |

      | Sort_range | 37432840 |

      | Sort_rows | 9178691532 |

      | Sort_scan | 1860569 |

    調整的參數:Sort_buffer_size


    文件打開數(Open_files):對應參數open_files_limit
    比較合適的設置:Open_files / open_files_limit * 100% <= 75%


    表鎖情況:
    Table_locks_immediate表示立即釋放表鎖數
    Table_locks_waited表示需要等待的表鎖數
    Table_locks_immediate / Table_locks_waited > 5000,最好采用InnoDB引擎

    thread_cache_sized :
    1G? —> 8
    2G? —> 16
    3G? —> 32
    >3G? —> 64

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    MySQL環境變量(運作參數)詳細配置

    MySQL環境變量(運作參數)詳細配置:MySQL環境變量(運行參數)詳細配置 調整MySQL運行參數,修改/etc/my.cnf文件調整mysql運行參數,重啟MySQL后生效。 在MySQL4版本以后, 一部分內部變量可以在MySQL運行時用cmd set xxx=xxx 進行設置,不過重啟MySQL服務就失效了。 紅色為常用的變量
    推薦度:
    標簽: 設置 詳細 運作
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 最新欧美性爱精品一区二区三区| 青草国产精品久久久久久| 中文字幕九七精品乱码| 在线人成精品免费视频| 乱色精品无码一区二区国产盗| 国产精品无码免费专区午夜| 国产成人精品一区二区秒拍 | 国产在线精品一区二区高清不卡| 国精品无码一区二区三区左线| 久久夜色撩人精品国产| 欧洲精品视频在线观看| 99热亚洲色精品国产88| 老司机午夜精品视频资源| 欧美精品色精品一区二区三区| 国产A√精品区二区三区四区| 亚洲第一极品精品无码久久| 国产精品无码A∨精品影院| 久久精品人人做人人爽电影| 熟妇人妻VA精品中文字幕| 欧美激情精品久久久久久久九九九| 中文精品久久久久国产网址| 国产产无码乱码精品久久鸭| 久久久无码精品亚洲日韩蜜臀浪潮| 青青青青久久精品国产h久久精品五福影院1421| 四虎国产精品永久地址99| 国产精品成人观看视频国产| 国产精品亚洲一区二区三区在线| 人妻AV一区二区三区精品| 亚洲精品无码乱码成人 | 国内精品51视频在线观看| 99国产精品国产精品九九| 精品成在人线AV无码免费看| 欧美精品v欧洲精品| 久久综合久久自在自线精品自| 亚洲精品国产字幕久久不卡 | 久久99热这里只有精品国产| 国产欧美日本精品| 国产精品无码无卡无需播放器| 99久久国产综合精品五月天喷水| 国产69精品久久久久9999| 精品国产污污免费网站入口|