搜尋
首頁運維linux運維Linux中如何對MySQL優化的詳細介紹

這篇文章主要介紹了Linux中對MySQL優化實例詳解的相關資料,需要的朋友可以參考下

Linux中對MySQL最佳化實例詳解

vim /etc/my.cnf以下只列出my.cnf檔案中[mysqld]段落中的內容,其他段落內容對MySQL運作效能影響甚微,因而姑且忽略。

[mysqld]
port = 3306
serverid = 1
socket = /tmp/mysql.sock
skip-locking

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

skip-name-resolve

禁止MySQL對外部連線進行DNS解析,使用此選項可以消除MySQL進行DNS解析的時間。但需要注意,如果開啟該選項,則所有遠端主機連線授權都要使用IP位址方式,否則MySQL將無法正常處理連線要求!

back_log = 384

back_log參數的值指出在MySQL暫時停止回應新請求之前的短時間內多少個請求可以被存在堆疊中。如果系統在一個短時間內有很多連接,則需要增加該參數的值,該參數值指定到來的TCP/IP連接的偵聽佇列的大小。不同的作業系統在這個佇列大小上有它自己的限制。試圖設定back_log高於你的作業系統的限制將是無效的。預設值為50。對於Linux系統建議設定為小於512的整數

key_buffer_size = 256M

key_buffer_size指定用於索引的緩衝區大小,增加它可得到更好的索引處理效能。對於內存在4GB左右的伺服器此參數可設定為256M或384M。注意:此參數值設定的過大反而會是伺服器整體效率降低!

max_allowed_packet = 4M
thread_stack = 256K
table_cache = 128K
sort_buffer_size = 6M

查詢排序時所能使用的緩衝區大小。注意:此參數對應的分配記憶體是每連接獨佔,如果有100個連接,那麼實際分配的總共排序緩衝區大小為100 × 6 = 600MB。所以,對於內存在4GB左右的伺服器建議設定為6-8M。

read_buffer_size = 4M

讀取查詢操作所能使用的緩衝區大小。和sort_buffer_size一樣,此參數對應的分配記憶體也是每連接獨享。

join_buffer_size = 8M

聯合查詢操作所能使用的緩衝區大小,和sort_buffer_size一樣,此參數對應的分配記憶體也是每連接獨享。

myisam_sort_buffer_size = 64M
table_cache = 512
thread_cache_size = 64
query_cache_size = 64M

指定MySQL查詢緩衝區的大小。可以透過在MySQL控制台觀察,如果Qcache_lowmem_prunes的值非常大,則表示經常出現緩衝不夠的情況;如果Qcache_hits的值非常大,則表示查詢緩衝使用非常頻繁,如果該值較小反而會影響效率,那麼可以考慮不用查詢緩衝;Qcache_free_blocks,如果該值非常大,則表示緩衝區中碎片很多。

tmp_table_size = 256M
max_connections = 768

指定MySQL允許的最大連線進程數。如果在訪問論壇時經常出現Too ManyConnections的錯誤提示,則需要增加該參數值。

max_connect_errors = 10000000
wait_timeout = 10

指定一個請求的最大連線時間,對於4GB左右記憶體的伺服器可以設定為5-10。

thread_concurrency = 8

此參數取值為伺服器邏輯CPU數量*2,在本例中,伺服器有2顆實體CPU,而每顆實體CPU又支援H.T超線程,所以實際取值為4*2 =8

skip-networking

開啟該選項可以徹底關閉MySQL的TCP/IP連線方式,如果WEB伺服器是以遠端連線的方式存取MySQL資料庫伺服器則不要開啟該選項!否則將無法正常連線!

table_cache=1024

物理記憶體越大,設定就越大.預設為2402,調到512-1024最佳

innodb_additional_mem_pool_size=4M

預設為2M

innodb_flush_log_at_trx_commit=1

設定為0就是等到innodb_log_buffer_size列隊滿後再統一儲存,預設為1

innodb_log_buffer_size=2M

預設為1M

innodb_thread_concurrency=8

你的伺服器CPU有幾個就設定為幾,建議用預設一般為8

key_buffer_size=256M
#默认为218,调到128最佳
tmp_table_size=64M         
#默认为16M,调到64-256最挂
read_buffer_size=4M        
#默认为64K
read_rnd_buffer_size=16M    
#默认为256K
sort_buffer_size=32M       
#默认为256K
thread_cache_size=120     
#默认为60
query_cache_size=32M

值得注意的是:

很多情況需要具體情況具體分析

#一、如果Key_reads太大,則應該把my .cnf中Key_buffer_size變大,維持Key_reads/Key_read_requests至少1/100以上,越小越好。

二、如果Qcache_lowmem_prunes很大,就要增加Query_cache_size的值。

以上是Linux中如何對MySQL優化的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Linux的5支支柱:了解他們的角色Linux的5支支柱:了解他們的角色Apr 11, 2025 am 12:07 AM

Linux系統的五大支柱是:1.內核,2.系統庫,3.Shell,4.文件系統,5.系統工具。內核管理硬件資源並提供基本服務;系統庫為應用程序提供預編譯函數;Shell是用戶與系統交互的接口;文件系統組織和存儲數據;系統工具用於系統管理和維護。

Linux維護模式:工具和技術Linux維護模式:工具和技術Apr 10, 2025 am 09:42 AM

在Linux系統中,可以通過在啟動時按特定鍵或使用命令如“sudosystemctlrescue”進入維護模式。維護模式允許管理員在不受干擾的情況下進行系統維護和故障排除,如修復文件系統、重置密碼、修補安全漏洞等。

關鍵Linux操作:初學者指南關鍵Linux操作:初學者指南Apr 09, 2025 pm 04:09 PM

Linux初學者應掌握文件管理、用戶管理和網絡配置等基本操作。 1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。 2)用戶管理:使用useradd、passwd、userdel、usermod命令。 3)網絡配置:使用ifconfig、echo、ufw命令。這些操作是Linux系統管理的基礎,熟練掌握它們可以有效管理系統。

如何使用sudo向Linux的用戶授予高架特權?如何使用sudo向Linux的用戶授予高架特權?Mar 17, 2025 pm 05:32 PM

本文解釋瞭如何管理Linux中的Sudo特權,包括授予,撤銷和安全性最佳實踐。關鍵重點是安全和sudoers安全和限制訪問。Character數量:159

如何在Linux中實現SSH的兩因素身份驗證(2FA)?如何在Linux中實現SSH的兩因素身份驗證(2FA)?Mar 17, 2025 pm 05:31 PM

本文提供了有關使用Google Authenticator在Linux上設置兩因素身份驗證(2FA)的指南,詳細介紹了安裝,配置和故障排除步驟。它突出了2FA的安全益處,例如增強的SEC

如何使用TOP,HTOP和VMSTAT等工具來監視Linux中的系統性能?如何使用TOP,HTOP和VMSTAT等工具來監視Linux中的系統性能?Mar 17, 2025 pm 05:28 PM

本文討論了使用TOP,HTOP和VMSTAT監視Linux系統性能,並詳細介紹其獨特功能和自定義選項,以進行有效的系統管理。

如何使用軟件包管理器(APT,YUM,DNF)管理Linux中的軟件包?如何使用軟件包管理器(APT,YUM,DNF)管理Linux中的軟件包?Mar 17, 2025 pm 05:26 PM

文章討論了使用APT,YUM和DNF在Linux中管理軟件包,涵蓋安裝,更新和刪除。它比較了它們對不同分佈的功能和適用性。

如何在Linux中使用正則表達式(REGEX)進行模式匹配?如何在Linux中使用正則表達式(REGEX)進行模式匹配?Mar 17, 2025 pm 05:25 PM

本文介紹瞭如何在Linux中使用正則表達式(REGEX)進行模式匹配,文件搜索和文本操作,詳細列式,命令和工具,例如GREP,SED和AWK。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具