日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql配置文件调优

發布時間:2025/4/16 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql配置文件调优 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


mysql配置文件/etc/my.cnf

核心文件是mysqld這部分:



mysql調優:


mysql調優可以從幾個方面來做:


1.架構層:

????做從庫,實現讀寫分離


2.系統層次:

????增加內存;

????給磁盤做raid0或raid5,以增加磁盤的讀寫速度;

????可以重新掛載磁盤,并加上noatime參數,這樣可以減少磁盤的i/o ;


3.mysql本身調優:

????1.如果未配置主從同步,可以把bin-log功能關閉,減少磁盤i/o

????2.在my.cnf中加上skip-name-resove,這樣可以避免由于解析主機名延遲造成mysql執行慢

????3.調整幾個關鍵的buffer和cache ,調整的依據,主要根據數據庫的狀態來調試。


4.應用層次:

????查看慢查詢日志,根據慢查詢日志優化程序中的sql語句,比如增加索引


5.調整幾個關鍵的buffer和cache

????

????1. key_buffer_size??首先可以根據系統的內存大小設定它,大概的一個參考值:1G以下內存設定128M;2G/256M; 4G/384M;8G/1024M;16G/2048M.這個值可以通過檢查狀態值Key_read_requests和 Key_reads,可以知道key_buffer_size設置是否合理。比例key_reads / key_read_requests應該盡可能的低,至少是1:100,1:1000更好(上述狀態值可以使用SHOW STATUS LIKE ‘key_read%’獲得)。注意:該參數值設置的過大反而會是服務器整體效率降低!


????2. table_open_cache 打開一個表的時候,會臨時把表里面的數據放到這部分內存中,一般設置成1024就夠了,它的大小我們可以通過這樣的方法來衡量: 如果你發現 open_tables等于table_cache,并且opened_tables在不斷增長,那么你就需要增加table_cache的值了(上述狀態值可以使用SHOW STATUS LIKE ‘Open%tables’獲得)。注意,不能盲目地把table_cache設置成很大的值。如果設置得太高,可能會造成文件描述符不足,從而造成性能不穩定或者連接失敗。


????3. sort_buffer_size 查詢排序時所能使用的緩沖區大小,該參數對應的分配內存是每連接獨占!如果有100個連接,那么實際分配的總共排序緩沖區大小為100 × 4 = 400MB。所以,對于內存在4GB左右的服務器推薦設置為4-8M。


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


????5. join_buffer_size 聯合查詢操作所能使用的緩沖區大小,和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享!


????6. myisam_sort_buffer_size 這個緩沖區主要用于修復表過程中排序索引使用的內存或者是建立索引時排序索引用到的內存大小,一般4G內存給64M即可。


????7. query_cache_size MySQL查詢操作緩沖區的大小,通過以下做法調整:SHOW STATUS LIKE ‘Qcache%’; 如果Qcache_lowmem_prunes該參數記錄有多少條查詢因為內存不足而被移除出查詢緩存。通過這個值,用戶可以適當的調整緩存大小。如果該值非常大,則表明經常出現緩沖不夠的情況,需要增加緩存大小;Qcache_free_memory:查詢緩存的內存大小,通過這個參數可以很清晰的知道當前系統的查詢內存是否夠用,是多了,還是不夠用,我們可以根據實際情況做出調整。一般情況下4G內存設置64M足夠了。


????8. thread_cache_size 表示可以重新利用保存在緩存中線程的數,參考如下值:1G??—> 8 2G??—> 16 3G??—> 32??>3G??—> 64

????

????除此之外,還有幾個比較關鍵的參數:


????9. thread_concurrency 這個值設置為cpu核數的2倍即可


????10. wait_timeout 表示空閑的連接超時時間,默認是28800s,這個參數是和interactive_timeout一起使用的,也就是說要想讓wait_timeout 生效,必須同時設置interactive_timeout,建議他們兩個都設置為10


????11. max_connect_errors 是一個MySQL中與安全有關的計數器值,它負責阻止過多嘗試失敗的客戶端以防止暴力破解密碼的情況。與性能并無太大關系。為了避免一些錯誤我們一般都設置比較大,比如說10000


????12. max_connections 最大的連接數,根據業務請求量適當調整,設置500足夠


????13. max_user_connections 是指同一個賬號能夠同時連接到mysql服務的最大連接數。設置為0表示不限制。通常我們設置為100足夠


轉載于:https://blog.51cto.com/limingyu/1910678

總結

以上是生活随笔為你收集整理的mysql配置文件调优的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。