日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

概述

最近在對各個系統的MySQL做一些參數上的優化,也開了慢查詢,準備后面針對特定sql再進一步優化。下面主要介紹一下一些優化的參數。


1、優化前mysql配置

可以看到基本上是沒怎么做優化的。

超詳細的mysql數據庫參數優化,都總結在這里了

 


2、優化后的配置

以下是優化后的一些參數。

超詳細的mysql數據庫參數優化,都總結在這里了

 


超詳細的mysql數據庫參數優化,都總結在這里了

 


3、優化參數說明:

#基礎配置
datadir=/data/datafile
socket=/var/lib/mysql/mysql.sock
log-error=/data/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character_set_server=utf8
#允許任意IP訪問
bind-address = 0.0.0.0
#是否支持符號鏈接,即數據庫或表可以存儲在my.cnf中指定datadir之外的分區或目錄,為0不開啟
#symbolic-links=0
#支持大小寫
lower_case_table_names=1
#二進制配置
server-id = 1
log-bin = /data/log/mysql-bin.log
log-bin-index =/data/log/binlog.index
log_bin_trust_function_creators=1
expire_logs_days=7
#sql_mode定義了mysql應該支持的sql語法,數據校驗等
#mysql5.0以上版本支持三種sql_mode模式:ANSI、TRADITIONAL和STRICT_TRANS_TABLES。 
#ANSI模式:寬松模式,對插入數據進行校驗,如果不符合定義類型或長度,對數據類型調整或截斷保存,報warning警告。 
#TRADITIONAL模式:嚴格模式,當向mysql數據庫插入數據時,進行數據的嚴格校驗,保證錯誤數據不能插入,報error錯誤。用于事物時,會進行事物的回滾。 
#STRICT_TRANS_TABLES模式:嚴格模式,進行數據的嚴格校驗,錯誤數據不能插入,報error錯誤。
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#InnoDB存儲數據字典、內部數據結構的緩沖池,16MB已經足夠大了。
innodb_additional_mem_pool_size = 16M
#InnoDB用于緩存數據、索引、鎖、插入緩沖、數據字典等
#如果是專用的DB服務器,且以InnoDB引擎為主的場景,通常可設置物理內存的60%
#如果是非專用DB服務器,可以先嘗試設置成內存的1/4
innodb_buffer_pool_size = 4G
#InnoDB的log buffer,通常設置為 64MB 就足夠了
innodb_log_buffer_size = 64M
#InnoDB redo log大小,通常設置256MB 就足夠了
innodb_log_file_size = 256M
#InnoDB redo log文件組,通常設置為 2 就足夠了
innodb_log_files_in_group = 2
#共享表空間:某一個數據庫的所有的表數據,索引文件全部放在一個文件中,默認這個共享表空間的文件路徑在data目錄下。 默認的文件名為:ibdata1 初始化為10M。
#獨占表空間:每一個表都將會生成以獨立的文件方式來進行存儲,每一個表都有一個.frm表描述文件,還有一個.ibd文件。 其中這個文件包括了單獨一個表的數據內容以及索引內容,默認情況下它的存儲位置也是在表的位置之中。
#設置參數為1啟用InnoDB的獨立表空間模式,便于管理
innodb_file_per_table = 1
#InnoDB共享表空間初始化大小,默認是 10MB,改成 1GB,并且自動擴展
innodb_data_file_path = ibdata1:1G:autoextend
#設置臨時表空間最大4G
innodb_temp_data_file_path=ibtmp1:500M:autoextend:max:4096M
#啟用InnoDB的status file,便于管理員查看以及監控
innodb_status_file = 1
#當設置為0,該模式速度最快,但不太安全,mysqld進程的崩潰會導致上一秒鐘所有事務數據的丟失。
#當設置為1,該模式是最安全的,但也是最慢的一種方式。在mysqld 服務崩潰或者服務器主機crash的情況下,binary log 只有可能丟失最多一個語句或者一個事務。
#當設置為2,該模式速度較快,也比0安全,只有在操作系統崩潰或者系統斷電的情況下,上一秒鐘所有事務數據才可能丟失。
innodb_flush_log_at_trx_commit = 1
#設置事務隔離級別為 READ-COMMITED,提高事務效率,通常都滿足事務一致性要求
#transaction_isolation = READ-COMMITTED 
#max_connections:針對所有的賬號所有的客戶端并行連接到MYSQL服務的最大并行連接數。簡單說是指MYSQL服務能夠同時接受的最大并行連接數。
#max_user_connections : 針對某一個賬號的所有客戶端并行連接到MYSQL服務的最大并行連接數。簡單說是指同一個賬號能夠同時連接到mysql服務的最大連接數。設置為0表示不限制。
#max_connect_errors:針對某一個IP主機連接中斷與mysql服務連接的次數,如果超過這個值,這個IP主機將會阻止從這個IP主機發送出去的連接請求。遇到這種情況,需執行flush hosts。
#執行flush host或者 mysqladmin flush-hosts,其目的是為了清空host cache里的信息。可適當加大,防止頻繁連接錯誤后,前端host被mysql拒絕掉
#在 show global 里有個系統狀態Max_used_connections,它是指從這次mysql服務啟動到現在,同一時刻并行連接數的最大值。它不是指當前的連接情況,而是一個比較值。如果在過去某一個時刻,MYSQL服務同時有10
00個請求連接過來,而之后再也沒有出現這么大的并發請求時,則Max_used_connections=1000.請注意與show variables 里的max_user_connections的區別。#Max_used_connections / max_connections * 100% ≈ 85%
max_connections=600
max_connect_errors=1000
max_user_connections=400
#設置臨時表最大值,這是每次連接都會分配,不宜設置過大 max_heap_table_size 和 tmp_table_size 要設置一樣大
max_heap_table_size = 100M
tmp_table_size = 100M
#每個連接都會分配的一些排序、連接等緩沖,一般設置為 2MB 就足夠了
sort_buffer_size = 2M
join_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
#建議關閉query cache,有些時候對性能反而是一種損害
query_cache_size = 0
#如果是以InnoDB引擎為主的DB,專用于MyISAM引擎的 key_buffer_size 可以設置較小,8MB 已足夠
#如果是以MyISAM引擎為主,可設置較大,但不能超過4G
key_buffer_size = 8M
#設置連接超時閥值,如果前端程序采用短連接,建議縮短這2個值,如果前端程序采用長連接,可直接注釋掉這兩個選項,是用默認配置(8小時)
#interactive_timeout = 120
#wait_timeout = 120
#InnoDB使用后臺線程處理數據頁上讀寫I/0請求的數量,允許值的范圍是1-64
#假設CPU是2顆4核的,且數據庫讀操作比寫操作多,可設置
#innodb_read_io_threads=5
#innodb_write_io_threads=3
#通過show engine innodb status的FILE I/O選項可查看到線程分配
#設置慢查詢閥值,單位為秒
long_query_time = 120
slow_query_log=1 #開啟mysql慢sql的日志
log_output=table,File #日志輸出會寫表,也會寫日志文件,為了便于程序去統計,所以最好寫表
slow_query_log_file=/data/log/slow.log
##針對log_queries_not_using_indexes開啟后,記錄慢sql的頻次、每分鐘記錄的條數
#log_throttle_queries_not_using_indexes = 5
##作為從庫時生效,從庫復制中如何有慢sql也將被記錄
#log_slow_slave_statements = 1
##檢查未使用到索引的sql
#log_queries_not_using_indexes = 1
#快速預熱緩沖池
innodb_buffer_pool_dump_at_shutdown=1
innodb_buffer_pool_load_at_startup=1
#打印deadlock日志
innodb_print_all_deadlocks=1 

分享到:
標簽:mysql
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定