1. 程式人生 > >MySQL5.6版本效能調優my.cnf詳解

MySQL5.6版本效能調優my.cnf詳解

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
socket = /tmp/mysql.sock

basedir = /usr/local/mysql
datadir = /data/mysql
pid-file = /data/mysql/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1

skip-name-resolve
#skip-networking
back_log = 600

max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128 
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M

read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 4M

thread_cache_size = 8

query_cache_size = 8M
query_cache_limit = 2M

ft_min_word_len = 4

log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30

log_error = /data/mysql/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql-slow.log

performance_schema = 0
explicit_defaults_for_timestamp

#lower_case_table_names = 1

skip-external-locking

default_storage_engine = InnoDB
#default-storage-engine = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120

bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1

interactive_timeout = 28800
wait_timeout = 28800

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
  1. [client]  
  2. port = 3306
  3. socket = /tmp/mysql.sock  
  4. [mysqld]  
  5. port = 3306
  6. socket = /tmp/mysql.sock  
  7. basedir = /usr/local/mysql  
  8. datadir = /data/mysql  
  9. pid-file = /data/mysql/mysql.pid  
  10. user = mysql
  11. bind-address = 0.0.0.0  
  12. server-id = 1 #表示是本機的序號為1,一般來講就是master的意思  
  13. skip-name-resolve  
  14. # 禁止MySQL對外部連線進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。但需要注意,如果開啟該選項,  
  15. # 則所有遠端主機連線授權都要使用IP地址方式,否則MySQL將無法正常處理連線請求  
  16. #skip-networking  
  17. back_log = 600
  18. # MySQL能有的連線數量。當主要MySQL執行緒在一個很短時間內得到非常多的連線請求,這就起作用,  
  19. # 然後主執行緒花些時間(儘管很短)檢查連線並且啟動一個新執行緒。back_log值指出在MySQL暫時停止回答新請求之前的短時間內多少個請求可以被存在堆疊中。  
  20. # 如果期望在一個短時間內有很多連線,你需要增加它。也就是說,如果MySQL的連線資料達到max_connections時,新來的請求將會被存在堆疊中,  
  21. # 以等待某一連線釋放資源,該堆疊的數量即back_log,如果等待連線的數量超過back_log,將不被授予連線資源。  
  22. # 另外,這值(back_log)限於您的作業系統對到來的TCP/IP連線的偵聽佇列的大小。  
  23. # 你的作業系統在這個佇列大小上有它自己的限制(可以檢查你的OS文件找出這個變數的最大值),試圖設定back_log高於你的作業系統的限制將是無效的。  
  24. max_connections = 1000
  25. # MySQL的最大連線數,如果伺服器的併發連線請求量比較大,建議調高此值,以增加並行連線數量,當然這建立在機器能支撐的情況下,因為如果連線數越多,介於MySQL會為每個連線提供連線緩衝區,就會開銷越多的記憶體,所以要適當調整該值,不能盲目提高設值。可以過'conn%'萬用字元檢視當前狀態的連線數量,以定奪該值的大小。  
  26. max_connect_errors = 6000
  27. # 對於同一主機,如果有超出該引數值個數的中斷錯誤連線,則該主機將被禁止連線。如需對該主機進行解禁,執行:FLUSH HOST。  
  28. open_files_limit = 65535
  29. # MySQL開啟的檔案描述符限制,預設最小1024;當open_files_limit沒有被配置的時候,比較max_connections*5和ulimit -n的值,哪個大用哪個,  
  30. # 當open_file_limit被配置的時候,比較open_files_limit和max_connections*5的值,哪個大用哪個。  
  31. table_open_cache = 128
  32. # MySQL每開啟一個表,都會讀入一些資料到table_open_cache快取中,當MySQL在這個快取中找不到相應資訊時,才會去磁碟上讀取。預設值64  
  33. # 假定系統有200個併發連線,則需將此引數設定為200*N(N為每個連線所需的檔案描述符數目);  
  34. # 當把table_open_cache設定為很大時,如果系統處理不了那麼多檔案描述符,那麼就會出現客戶端失效,連線不上  
  35. max_allowed_packet = 4M
  36. # 接受的資料包大小;增加該變數的值十分安全,這是因為僅當需要時才會分配額外記憶體。例如,僅當你發出長查詢或MySQLd必須返回大的結果行時MySQLd才會分配更多記憶體。  
  37. # 該變數之所以取較小預設值是一種預防措施,以捕獲客戶端和伺服器之間的錯誤資訊包,並確保不會因偶然使用大的資訊包而導致記憶體溢位。  
  38. binlog_cache_size = 1M
  39. # 一個事務,在沒有提交的時候,產生的日誌,記錄到Cache中;等到事務提交需要提交的時候,則把日誌持久化到磁碟。預設binlog_cache_size大小32K  
  40. max_heap_table_size = 8M
  41. # 定義了使用者可以建立的記憶體表(memory table)的大小。這個值用來計算記憶體表的最大行數值。這個變數支援動態改變  
  42. tmp_table_size = 16M
  43. # MySQL的heap(堆積)表緩衝大小。所有聯合在一個DML指令內完成,並且大多數聯合甚至可以不用臨時表即可以完成。  
  44. # 大多數臨時表是基於記憶體的(HEAP)表。具有大的記錄長度的臨時表 (所有列的長度的和)或包含BLOB列的表儲存在硬碟上。  
  45. # 如果某個內部heap(堆積)表大小超過tmp_table_size,MySQL可以根據需要自動將記憶體中的heap表改為基於硬碟的MyISAM表。還可以通過設定tmp_table_size選項來增加臨時表的大小。也就是說,如果調高該值,MySQL同時將增加heap表的大小,可達到提高聯接查詢速度的效果  
  46. read_buffer_size = 2M
  47. # MySQL讀入緩衝區大小。對錶進行順序掃描的請求將分配一個讀入緩衝區,MySQL會為它分配一段記憶體緩衝區。read_buffer_size變數控制這一緩衝區的大小。  
  48. # 如果對錶的順序掃描請求非常頻繁,並且你認為頻繁掃描進行得太慢,可以通過增加該變數值以及記憶體緩衝區大小提高其效能  
  49. read_rnd_buffer_size = 8M
  50. # MySQL的隨機讀緩衝區大小。當按任意順序讀取行時(例如,按照排序順序),將分配一個隨機讀快取區。進行排序查詢時,  
  51. # MySQL會首先掃描一遍該緩衝,以避免磁碟搜尋,提高查詢速度,如果需要排序大量資料,可適當調高該值。但MySQL會為每個客戶連線發放該緩衝空間,所以應儘量適當設定該值,以避免記憶體開銷過大  
  52. sort_buffer_size = 8M
  53. # MySQL執行排序使用的緩衝大小。如果想要增加ORDER BY的速度,首先看是否可以讓MySQL使用索引而不是額外的排序階段。  
  54. # 如果不能,可以嘗試增加sort_buffer_size變數的大小  
  55. join_buffer_size = 8M
  56. # 聯合查詢操作所能使用的緩衝區大小,和sort_buffer_size一樣,該引數對應的分配記憶體也是每連線獨享  
  57. thread_cache_size = 8
  58. # 這個值(預設8)表示可以重新利用儲存在快取中執行緒的數量,當斷開連線時如果快取中還有空間,那麼客戶端的執行緒將被放到快取中,  
  59. # 如果執行緒重新被請求,那麼請求將從快取中讀取,如果快取中是空的或者是新的請求,那麼這個執行緒將被重新建立,如果有很多新的執行緒,  
  60. # 增加這個值可以改善系統性能.通過比較Connections和Threads_created狀態的變數,可以看到這個變數的作用。(–>表示要調整的值)  
  61. # 根據實體記憶體設定規則如下:  
  62. # 1G  —> 8  
  63. # 2G  —> 16  
  64. # 3G  —> 32  
  65. # 大於3G  —> 64  
  66. query_cache_size = 8M
  67. #MySQL的查詢緩衝大小(從4.0.1開始,MySQL提供了查詢緩衝機制)使用查詢緩衝,MySQL將SELECT語句和查詢結果存放在緩衝區中,  
  68. # 今後對於同樣的SELECT語句(區分大小寫),將直接從緩衝區中讀取結果。根據MySQL使用者手冊,使用查詢緩衝最多可以達到238%的效率。  
  69. # 通過檢查狀態值'Qcache_%',可以知道query_cache_size設定是否合理:如果Qcache_lowmem_prunes的值非常大,則表明經常出現緩衝不夠的情況,  
  70. # 如果Qcache_hits的值也非常大,則表明查詢緩衝使用非常頻繁,此時需要增加緩衝大小;如果Qcache_hits的值不大,則表明你的查詢重複率很低,  
  71. # 這種情況下使用查詢緩衝反而會影響效率,那麼可以考慮不用查詢緩衝。此外,在SELECT語句中加入SQL_NO_CACHE可以明確表示不使用查詢緩衝  
  72. query_cache_limit = 2M
  73. #指定單個查詢能夠使用的緩衝區大小,預設1M  
  74. key_buffer_size = 4M
  75. #指定用於索引的緩衝區大小,增加它可得到更好處理的索引(對所有讀和多重寫),到你能負擔得起那樣多。如果你使它太大,  
  76. # 系統將開始換頁並且真的變慢了。對於記憶體在4GB左右的伺服器該引數可設定為384M或512M。通過檢查狀態值Key_read_requests和Key_reads,  
  77. # 可以知道key_buffer_size設定是否合理。比例key_reads/key_read_requests應該儘可能的低,  
  78. # 至少是1:100,1:1000更好(上述狀態值可以使用SHOW STATUS LIKE 'key_read%'獲得)。注意:該引數值設定的過大反而會是伺服器整體效率降低  
  79. ft_min_word_len = 4
  80. # 分詞詞彙最小長度,預設4  
  81. transaction_isolation = REPEATABLE-READ  
  82. # MySQL支援4種事務隔離級別,他們分別是:  
  83. # READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.  
  84. # 如沒有指定,MySQL預設採用的是REPEATABLE-READ,ORACLE預設的是READ-COMMITTED  
  85. log_bin = mysql-bin  
  86. binlog_format = mixed
  87. expire_logs_days = 30 #超過30天的binlog刪除  
  88. 相關推薦

    MySQL5.6版本效能調my.cnf

    [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock basedir = /usr/local/mysql datadir = /data

    MySQL效能調my.cnf

    提供一個MySQL 5.6版本適合在1GB記憶體VPS上的my.cnf配置檔案: [client] port =3306 socket =/tmp/mysql.sock [mysqld] port =3306 socket =/tmp/mysql.sock basedi

    (轉)MySQL性能調my.cnf

    保存 會話 自己 file 調用 day 否則 tran 隨機 MySQL性能調優my.cnf詳解 https://blog.linuxeye.cn/379.html 提供一個MySQL 5.6版本適合在1GB內存VPS上的my.cnf配置文件(點擊這裏下載文件): [c

    my.cnf

    my.cnf[client]port = 3306socket = /tmp/mysql.sock[mysqld]port = 3306socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlpid-file = /data

    MySQL配置檔案 my.cnf

    MySQL配置檔案 [client] port = 3306   socket = /var/lib/mysql/mysql.sock [mysql] #這個配置段設定啟動MySQL服務的條件;在這種情況下,no-auto-rehash確保這個服務啟動得比較快。 no-a

    mysql之my.cnf

    以下是 my.cnf 配置檔案引數解釋: #*** client options 相關選項 ***# #以下選項會被MySQL客戶端應用讀取。注意只有MySQL附帶的客戶端應用程式保證可以讀取這段內容。如果你想你自己的MySQL應用程式獲取這些值。需要在MySQL客戶端庫初

    linux下mysql配置檔案my.cnf

    用來容納InnoDB為資料表的表空間: 可能涉及一個以上的檔案; 每一個表空間檔案的最大長度都必須以位元組(B)、兆位元組(MB)或千兆位元組(GB)為單位給出; 表空間檔案的名字必須以分號隔開; 最後一個表空間檔案還可以帶一個autoextend屬性和一個最大長度(max:n)。例如,ibdata1:1G;

    mysql啟動引數(/etc/my.cnf)彙總

    http://blog.csdn.net/lihaiwenshu/article/details/40434093 在linux下面的/etc/my.cnf的引數詳解彙總 MYSQL–my.cnf配置中文詳解 basedir = path   使用給

    PHP 5.2、5.3、5.4、5.5、5.6 版本區別對比以及新功能

    截至目前(2015.1), PHP 的最新穩定版本是 PHP5.5, 但有差不多一半的使用者仍在使用已經不在維護  的 PHP5.2, 其餘的一半使用者在使用 PHP5.3 .因為 PHP 那“集百家之長”的蛋疼語法,加上社群氛圍不好,很多人對新版本,新特徵並無興趣。本文將會

    JVM效能調6大步驟,及關鍵調引數

    JVM效能調優的6大步驟,及關鍵調優引數詳解 JVM效能調優方法和步驟 1.監控GC的狀態 2.生成堆的dump檔案 3.分析dump檔案 4.分析結果,判斷是否需要優化 5.調整GC型別和記憶體分配 6.不斷分析

    效能調6:Spool 假離線調 SQLSERVER中的假離線

    SQL Server的Spool(假離線)操作符,用於把前一個操作符處理的資料(又稱作中間結果集)儲存到一個隱藏的臨時結構中,以便在執行過程中重用這些資料。這個臨時結構都建立在tempdb中,通常的結構是工作表(worktable)和工作檔案(workfile)。假離線運算子會取出表或索引結構中的一部分的資料

    第五章(1.6)深度學習——常用的八種神經網路效能調方案

    一、神經網路效能調優主要方法 資料增廣 影象預處理 網路初始化 訓練過程中的技巧 啟用函式的選擇 不同正則化方法 來自於資料的洞察 整合多個深度網路 1. 資料增廣 在不改變影象類別的情況下,增加資料量,能提高模型的泛化能力。 自然影象的資料增廣方式

    rpm包安裝mysql5.6.*版本

    root per autoconf undle word sha eps auto 初始化 1、查看是否已經安裝Mysql rpm -qa | grep -i mysql #刪除已經安裝的Mysql程序 rpm -ev *****.rpm   

    mysql5.6版本的優化

    導入 表之間 速度 有一個 es2017 dex .com 執行 插入數據 1. 目標 l 了解什麽是優化 l 掌握優化查詢的方法 l 掌握優化數據庫結構的方法 l 掌握優化MySQL服務器的方法 2. 什麽是優化? l 合理安排資源、調整系統參數使MySQL運行更快、更節

    zabbix監控mysql5.6版本出不了圖,怎麽辦?這裏有解決辦法!!!

    echo line 進行 password 搭建過程 using 部署 所在 取數 問題:今天我把本地的zabbix對mysql監控的部署系統轉到雲主機上,發現出現下圖的情況(搭建過程可參考http://blog.51cto.com/xiaozhagn/2059430)然

    mysql5.6版本備份報錯

    man sin gpo 啟動mysql ace command 輸入密碼 腳本 roo MySQL5.6版本備份報錯,密碼不安全 [root@centos199 mysql]# mysqldump -uroot -ppassword cz-office > mysql

    CentOS7.4—最新版本nginx調

    Centos7.4 最新版本 nginx 調優 Nginx調優目錄第一部分 優化版本信息第二部分 保持連接第三部分 優化進程數第四部分 日誌分割第五部分 網頁壓縮 Nginx安裝過程不再這裏展示,請參照http://blog.51cto.com/12227558,下面直接進入調優 第

    centos7上mysql5.6版本主從復制

    ror 二進制日誌 path 服務器 mes running bsp 必須 -s 做主從復制實驗: 第一步:主服務器上操作 1、修改主服務器master: [root@localhost ~]# vim /etc/my.cnf server_id = 1 //[必須

    Informatica_(6)性能調

    企業應用 cond oop nag create 集合 分區表 opera eject 六、實戰匯總31.powercenter 字符集 了解源或者目標數據庫的字符集,並在Powercenter服務器上設置相關的環境變量或者完成相關的設置,不同的數據庫有不同的設置方法

    1.效能調概覽

    介紹 Optimization Overview 優化概述 Optimizing SQL Statements 優化SQL語句 Optimization and Indexes 優化和索引 Optimizing Database Structure 優化資料庫結