搜尋
首頁運維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個核心組件May 08, 2025 am 12:08 AM

Linux操作系統的5個核心組件是:1.內核,2.系統庫,3.系統工具,4.系統服務,5.文件系統。這些組件協同工作,確保系統的穩定和高效運行,共同構成了一個強大而靈活的操作系統。

Linux的5個基本要素:解釋Linux的5個基本要素:解釋May 07, 2025 am 12:14 AM

Linux的五個核心元素是:1.內核,2.命令行界面,3.文件系統,4.包管理,5.社區與開源。這些元素共同定義了Linux的本質和功能。

Linux操作:安全和用戶管理Linux操作:安全和用戶管理May 06, 2025 am 12:04 AM

Linux用戶管理和安全性可以通過以下步驟實現:1.創建用戶和組,使用命令如sudouseradd-m-gdevelopers-s/bin/bashjohn。 2.批量創建用戶和設置密碼策略,使用for循環和chpasswd命令。 3.檢查和修復常見錯誤,如家目錄和shell設置。 4.實施最佳實踐,如強密碼策略、定期審計和最小權限原則。 5.優化性能,使用sudo和調整PAM模塊配置。通過這些方法,可以有效管理用戶和提升系統安全性。

Linux操作:文件系統,進程等Linux操作:文件系統,進程等May 05, 2025 am 12:16 AM

Linux文件系統和進程管理的核心操作包括文件系統的管理和進程的控制。 1)文件系統操作包括創建、刪除、複製和移動文件或目錄,使用命令如mkdir、rmdir、cp和mv。 2)進程管理涉及啟動、監控和終止進程,使用命令如./my_script.sh&、top和kill。

Linux操作:外殼腳本和自動化Linux操作:外殼腳本和自動化May 04, 2025 am 12:15 AM

Shell腳本是Linux系統中用於自動化執行命令的強大工具。 1)Shell腳本通過解釋器逐行執行命令,處理變量替換和條件判斷。 2)基本用法包括備份操作,如使用tar命令備份目錄。 3)高級用法涉及使用函數和case語句管理服務。 4)調試技巧包括使用set-x開啟調試模式和set-e在命令失敗時退出。 5)性能優化建議避免子Shell,使用數組和優化循環。

Linux操作:了解核心功能Linux操作:了解核心功能May 03, 2025 am 12:09 AM

Linux是一個基於Unix的多用戶、多任務操作系統,強調簡單性、模塊化和開放性。其核心功能包括:文件系統:以樹狀結構組織,支持多種文件系統如ext4、XFS、Btrfs,使用df-T查看文件系統類型。進程管理:通過ps命令查看進程,使用PID管理進程,涉及優先級設置和信號處理。網絡配置:靈活設置IP地址和管理網絡服務,使用sudoipaddradd配置IP。這些功能在實際操作中通過基本命令和高級腳本自動化得以應用,提升效率並減少錯誤。

Linux:進入和退出維護模式Linux:進入和退出維護模式May 02, 2025 am 12:01 AM

進入Linux維護模式的方法包括:1.編輯GRUB配置文件,添加"single"或"1"參數並更新GRUB配置;2.在GRUB菜單中編輯啟動參數,添加"single"或"1"。退出維護模式只需重啟系統。通過這些步驟,你可以在需要時快速進入維護模式,並安全地退出,確保系統的穩定性和安全性。

了解Linux:定義的核心組件了解Linux:定義的核心組件May 01, 2025 am 12:19 AM

Linux的核心組件包括內核、shell、文件系統、進程管理和內存管理。 1)內核管理系統資源,2)shell提供用戶交互界面,3)文件系統支持多種格式,4)進程管理通過fork等系統調用實現,5)內存管理使用虛擬內存技術。

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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

PhpStorm Mac 版本

PhpStorm Mac 版本

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

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器