[mysql]
prompt
=\\u@\\h \\D \\R:\\m:\\s [\\d]> mysql命令提示符
[client]
port
= 3307 客戶端連接mysql時(shí)使用的端口
socket
= /tmp/mysql.sock 客戶端連接本地mysql時(shí)使用的sock文件
default-character-set
= utf8 客戶端設(shè)置字符集
[mysqld_safe]
#malloc-lib
=/usr/local/lib/libjemalloc.so 指定內(nèi)存分配算法的so文件
[mysqld]
character-set-server
= utf8 服務(wù)器新版本字符集(5.1以下用 default-character-set)
user
= mysql 運(yùn)行時(shí)用戶
port
= 3307 守護(hù)進(jìn)程監(jiān)聽(tīng)端口
socket
= /tmp/mysql.sock 本地sock文件
basedir
= /opt/mysql57 mysql安裝目錄
datadir
= /opt/mysql57/var mysql數(shù)據(jù)目錄
#---------------+
#systemconfig |
#---------------+
sql_mode
= "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER" sql 模式
strict_trans_tables、strict_all_tables
嚴(yán)格模式控制mysql如何處理非法(數(shù)據(jù)類型錯(cuò)誤淋昭,不適合列俐填,超出范圍)或者丟失的輸入值(空,且沒(méi)有default值)
對(duì)于事務(wù)表响牛,當(dāng)啟用STRICT_ALL_TABLES或者STRICT_TRANS_TABLES模式時(shí)玷禽,如果有非法或者丟失,則會(huì)出現(xiàn)錯(cuò)誤呀打,語(yǔ)句被放棄并滾動(dòng)矢赁。
對(duì)于非事務(wù)表。建議事務(wù)不要使用其他非事務(wù)表
no_auth_create_user
在使用grant 給新用戶授權(quán)后贬丛,未加identified by 創(chuàng)建一個(gè)密碼撩银,則會(huì)導(dǎo)致創(chuàng)建一個(gè)無(wú)密碼的sql用戶豺憔。使用此模式后抄邀,此情況避免剔难。
no_engine_subtitution
create table 時(shí)指定的engine項(xiàng)不被支持偶宫,這個(gè)時(shí)候mysql會(huì)支持報(bào)錯(cuò)
no_zero_date
no_zero_in_date
only_full_group_by
select字句需要全部列出group by字段环鲤,否則報(bào)錯(cuò)
explicit_defaults_for_timestamp
= 1 明確指定timestamp類型的默認(rèn)值冷离,如果沒(méi)有指定,則為NULL结耀,不會(huì)產(chǎn)生一些奇怪的默認(rèn)行
interactive_timeout
= 1800 交互式mysql客戶端超時(shí)時(shí)間
wait_timeout
= 1800 非交互式客戶端超時(shí)時(shí)間
open_files_limit
= 65535 mysql進(jìn)程可以打開(kāi)的文件限制,可以用 lsof -p PID_OF_MYSQL | wc -l 來(lái)統(tǒng)計(jì)mysql進(jìn)程打開(kāi)的文件總數(shù)
back_log
= 600 參數(shù)值指定到來(lái)的TCP/IP連接的偵聽(tīng)隊(duì)列的大小
max_connections
= 4000 允許最大的連接數(shù)量
event_scheduler
= 1 允許事件調(diào)度(類似定時(shí)任務(wù))
max_connect_errors
= 6000 允許每個(gè)客戶端最多嘗試登錄次數(shù)
skip-name-resolve
跳過(guò)域名解析鳖眼,只使用ip
skip-external-locking
跳過(guò)外部鎖定矿瘦,多臺(tái)服務(wù)器使用同一個(gè)數(shù)據(jù)庫(kù)目錄,此項(xiàng)必須開(kāi)啟
max_allowed_packet
= 1024M server接受數(shù)據(jù)包限制搞动,在數(shù)據(jù)恢復(fù)的時(shí)候要調(diào)整大一些
default-storage-engine
= InnoDB 默認(rèn)存儲(chǔ)引擎
transaction_isolation
= READ-COMMITTED 事務(wù)隔離級(jí)別矗烛,默認(rèn)是REPEATABLE-READ
#---------------+
# myisam |
#---------------+
myisam_sort_buffer_size
= 64M MyISAM表發(fā)生變化時(shí)重新排序所需的緩沖
myisam_max_sort_file_size
=1G MySQL重建索引時(shí)所允許的最大臨時(shí)文件的大小
myisam_repair_threads
= 1 如果一個(gè)表?yè)碛谐^(guò)一個(gè)索引, MyISAM 可以通過(guò)并行排序使用超過(guò)一個(gè)線程去修復(fù)他們
key_buffer_size
= 256M 用于索引的緩沖區(qū)大小,增加它可以得到更好的索引處理性能
#---------------+
# cache |
#---------------+
query_cache_type
= 1 開(kāi)啟query_cache
query_cache_size
= 64M query_cache總共能使用的內(nèi)存大小
query_cache_limit
= 8M 指定單個(gè)查詢能夠使用緩沖區(qū)最大值开泽,缺省為1M
query_cache_min_res_unit
= 2k 分配緩沖區(qū)空間的最小單位
thread_cache_size
= 512 重用sql線程的數(shù),既創(chuàng)建出來(lái)先不銷毀少梁,cache下來(lái),等待下次連接重用妨马,如果在頻繁創(chuàng)建的情況下適當(dāng)多設(shè)置
tmp_table_size
= 32M 控制內(nèi)存臨時(shí)表大小挺举,不作用于在用戶創(chuàng)建的memory表中。和下邊的這個(gè)參數(shù)同用烘跺,最小的起作用湘纵。如果超出,則使用磁盤(pán)滤淳,如果group by 語(yǔ)句多瞻佛,設(shè)置大一些
max_heap_table_size
= 32M 控制內(nèi)存臨時(shí)表大小,作用于在用戶創(chuàng)建的memory表中。和上邊的這個(gè)參數(shù)同用伤柄,最小的起作用绊困。如果超出,則使用磁盤(pán)
table_open_cache
= 614 所有線程打開(kāi)的表數(shù)量适刀,show status like 'open%tables'; 用來(lái)查看當(dāng)前打開(kāi)的表數(shù)秤朗,如果大于此值,則增大笔喉。
ft_min_word_len
= 4 MyISAM 全文索引中包括的單詞的最小長(zhǎng)度取视,如果此值被修改,則必須執(zhí)行 REPAIR table tbl_name QUICK.
bulk_insert_buffer_size
= 64M 大量數(shù)據(jù)(bulk)插入緩存大小常挚、針對(duì)MyISAM存儲(chǔ)引擎作谭,提高效率
針對(duì)語(yǔ)句 INSERT ... SELECT, INSERT ... VALUES (...), (...), ..., and LOAD DATA INFILE
sort_buffer_size
= 12M 有排序操作會(huì)分配,通過(guò) SHOW GLOBAL STATUS查看奄毡,如果Sort_merge_passes/s 多折欠,可以提高此值,來(lái)加速order by和group by操作吼过。
但如果設(shè)置太大锐秦,linux分配內(nèi)存效率也不高。所以要找一個(gè)適合的
read_buffer_size
= 24M myisam全表掃描所分配的讀緩沖池大小
read_rnd_buffer_size
= 12M sort后的數(shù)據(jù)是以key-value的形式存在的盗忱,使用這些行指針去讀取數(shù)據(jù)酱床,
將是以指針數(shù)據(jù)物理的順序去讀取,很大程度上是隨機(jī)的方式讀取數(shù)據(jù)的趟佃。
MySQL從sort_buffer中讀取這些行指針數(shù)據(jù)扇谣,然后通過(guò)指針排序后存入read_rnd_buffer中,
之后再通過(guò)指針讀取數(shù)據(jù)時(shí)闲昭,基本上都是順序讀取了
join_buffer_size
= 12M 連接緩沖池大小揍堕,每個(gè)連接會(huì)分配一個(gè)大小,所以一個(gè)查詢中汤纸,可能分配多個(gè)緩沖池大小衩茸,加快join操作(加索引,加大此緩沖值)
table_definition_cache
= 4096 存放表的定義信息緩存贮泞,這里存放與存儲(chǔ)引擎無(wú)關(guān)的楞慈,獨(dú)立的表定義相關(guān)信息。
tmpdir
= /tmp 存放臨時(shí)文件和臨時(shí)表的位置
#---------------+
# log |
#---------------+
relay_log
= /opt/mysql57/var/mysql-relay-bin 中繼日志名啃擦,后邊加序號(hào)囊蓝,用在slave接受主服務(wù)器binlog日志
relay_log_index
= relay-log.index 記錄所有的中繼日志文件名
slow_query_log
= 1 開(kāi)啟慢查詢?nèi)罩?long_query_time
= 1 慢查詢?nèi)罩緯r(shí)間
log_queries_not_using_indexes
= 1 當(dāng)執(zhí)行一個(gè)sql語(yǔ)句的時(shí)候,如果一個(gè)表沒(méi)有索引就會(huì)把這個(gè)信息記錄在慢查詢文件中
slow-query-log-file
= /opt/mysql57/var/slowquery.log 慢查詢?nèi)罩疚恢?log-bin
= /opt/mysql57/var/binlog binlog日志位置
log-error
= /opt/mysql57/var/logerr 錯(cuò)誤日志位置
binlog_cache_size
= 32M 給單個(gè)事務(wù)單個(gè)客戶端分配的二進(jìn)制binlog緩存大小令蛉,如果經(jīng)常執(zhí)行大事務(wù)聚霜,則可以適當(dāng)加大
binlog_format
= ROW 二進(jìn)制日志文件的格式狡恬,有STATEMENT、ROW蝎宇、MIXED
5.7.7 之前默認(rèn)是statement弟劲,5.7.7及以后,默認(rèn)是row
max_binlog_cache_size
= 512M 最大binlog_cache姥芥,如果超過(guò)了這個(gè)值很多兔乞,則會(huì)自動(dòng)將事務(wù)分成 Multi-statement transaction 多語(yǔ)句事務(wù)。
max_binlog_size
= 512M 每個(gè)二進(jìn)制日志的最大大小凉唐,如果超過(guò)庸追,則會(huì)輪轉(zhuǎn)日志
expire_logs_days
= 5 設(shè)置binlog老化日期,重啟或者flush logs 就會(huì)刪除過(guò)期的二進(jìn)制日志台囱,手動(dòng)刪除的話淡溯,執(zhí)行PURGE BINARY LOGS
sync_binlog
= 1 控制mysql如何向磁盤(pán)刷新binlog,0為由os自動(dòng)刷新簿训,n為執(zhí)行了n個(gè)事務(wù)以后刷新到磁盤(pán)
#---------------+
# innodb |
#---------------+
innodb_page_size
= 8192 innodb 頁(yè)大性廴ⅰ(使用ssd應(yīng)該設(shè)置的較小比如4k)
innodb_buffer_pool_instances
= 8 緩沖池被分開(kāi)的實(shí)例個(gè)數(shù),(當(dāng)innodb_buffer_pool_size大于1G才會(huì)生效煎楣,而且每個(gè)實(shí)例至少分1G則效率高)
innodb_flush_method
= O_DIRECT 數(shù)據(jù)文件的寫(xiě)入操作是直接從mysql innodb buffer到磁盤(pán)的,并不用通過(guò)操作系統(tǒng)的緩沖车伞,而真正的完成也是在flush這步择懂,避免了存儲(chǔ)引擎和操作系統(tǒng)的雙重緩存
innodb_log_group_home_dir
= /opt/mysql57/redolog/ innodb存儲(chǔ)引擎產(chǎn)生的日志文件目錄,默認(rèn)為mysql數(shù)據(jù)目錄另玖。
innodb_undo_directory
= /opt/mysql57/undolog/ innodb存儲(chǔ)undolog產(chǎn)生的日志文件目錄困曙,如果不指定,則為mysql數(shù)據(jù)目錄谦去。
innodb_undo_logs
= 128 用于表示回滾段的個(gè)數(shù)
innodb_undo_tablespaces
= 3 用于設(shè)定創(chuàng)建的undo表空間的個(gè)數(shù)
innodb_flush_neighbors
= 1 是否開(kāi)啟刷新鄰接頁(yè)(機(jī)械磁盤(pán)使用慷丽,固態(tài)關(guān)閉)
innodb_buffer_pool_size
= 20480M innodb存儲(chǔ)引擎產(chǎn)生的日志文件大小,如果innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances 大于此值鳄哭, innodb_buffer_pool_chunk_size 會(huì)被減少到此值/innodb_buffer_pool_instances
innodb_data_file_path
= ibdata1:1024M:autoextend innodb表空間路徑以及大小設(shè)置
innodb_flush_log_at_trx_commit
= 2 事務(wù)提交刷寫(xiě)到磁盤(pán)的方式要糊,0為每秒,1為每次事務(wù)都刷妆丘,2為每次提交寫(xiě)cache锄俄,并每秒刷寫(xiě)到磁盤(pán),這樣mysql進(jìn)程奔潰了以后勺拣,數(shù)據(jù)不丟失奶赠,除非機(jī)器整個(gè)宕機(jī),才會(huì)丟失最多1秒的數(shù)據(jù)
innodb_log_buffer_size
= 16M 事務(wù)日志寫(xiě)入到磁盤(pán)持久化之前的緩存池大小
innodb_log_file_size
= 4096M 控制單個(gè)事務(wù)日志的大小
innodb_log_files_in_group
= 3 事務(wù)日志的個(gè)數(shù)
innodb_max_dirty_pages_pct
= 85 控制innodb向數(shù)據(jù)文件中猛烈刷寫(xiě)的比例药有,如果臟頁(yè)所占比例超過(guò)此值毅戈,那么就會(huì)執(zhí)行強(qiáng)力的刷寫(xiě)
innodb_lock_wait_timeout
= 10 等待互斥鎖的會(huì)話超時(shí)時(shí)間,只作用于innodb 行級(jí)鎖,不作用于innodb表級(jí)鎖
decrease this value for highly interactive applications or OLTP systems
increase this value for long-running back-end operations
innodb_file_per_table
= 1 為每一張表開(kāi)啟一個(gè)表空間文件
innodb_write_io_threads
= 24 寫(xiě)線程個(gè)數(shù)苇经,對(duì)于多核cpu設(shè)置
innodb_read_io_threads
= 24 讀線程個(gè)數(shù)赘理,對(duì)于多核cpu設(shè)置
innodb_lru_scan_depth
= 2000 影響innodb buffer pool 的flush算法,默認(rèn)1024.
increasing the value if you have spare I/O capacity under a typical workload
if a write-intensive workload saturates your I/O capacity, decrease the value, especially in the case of a large buffer pool
innodb_io_capacity
= 4000 自己預(yù)估磁盤(pán)的io能力塑陵,sata盤(pán)設(shè)置為200感憾,固態(tài)硬盤(pán)設(shè)置的高一些(2000)
innodb_io_capacity_max
= 8000 數(shù)據(jù)刷寫(xiě)到磁盤(pán)如果滯后,innodb就會(huì)更加激進(jìn)的令花,以超過(guò)innodb_io_capacity的速率進(jìn)行刷寫(xiě)阻桅,此值為設(shè)置最大刷寫(xiě)能力
innodb_purge_threads
= 4 數(shù)字代表使用N個(gè)獨(dú)立線程來(lái)清除數(shù)據(jù),>= 5.7.8 默認(rèn)為4.
innodb_large_prefix
= 1 允許列索引最大達(dá)到3072,0/off的時(shí)候最大為767(只作用在 DYNAMIC or COMPRESSED row format)
innodb_thread_concurrency
= 16 并發(fā)線程數(shù)量兼都,innodb用自己的線程調(diào)度機(jī)制(FIFO,通過(guò)鎖來(lái)控制)來(lái)控制線程如何進(jìn)入innodb內(nèi)核工作嫂沉,減少了操作系統(tǒng)因?yàn)榫€程之間的上下文切換帶來(lái)的開(kāi)銷
If the number of concurrent user threads for a workload is less than 64, set innodb_thread_concurrency=0.
If your workload is consistently heavy or occasionally spikes, start by setting innodb_thread_concurrency=128 and then lowering the value to 96, 80, 64, and so on, until you find the number of threads that provides the best performance.
innodb_print_all_deadlocks
= 1 開(kāi)啟后,會(huì)將所有deadlock過(guò)程記錄在error_log里
innodb_strict_mode
= 1 開(kāi)啟innodb的嚴(yán)格模式扮碧,如果出現(xiàn)warnings趟章,則返回errors,建議在開(kāi)發(fā)的時(shí)候就開(kāi)啟慎王。
innodb_file_format
= Barracuda Innodb支持行數(shù)據(jù)壓縮特性蚓土,前提是采用Barracuda行存儲(chǔ)格式,5.7默認(rèn)為 Barracuda
Antelope 支持 REDUNDANT 和 COMPACT
Barracuda 支持 COMPRESSED 和 DYNAMIC
innodb_file_format_max
= Barracuda Innodb支持行數(shù)據(jù)壓縮特性赖淤,前提是采用Barracuda行存儲(chǔ)格式
#-------------+
#thread poll |
#-------------+
thread_handling = pool-of-threads 線程模式蜀漆,啟用線程池
thread_pool_oversubscribe = 10 一個(gè)group中活躍線程和等待中的線程超過(guò)thread_pool_oversubscribe時(shí),不會(huì)創(chuàng)建新的線程咱旱。
#---------------+
# replication |
#---------------+
read-only
= 1 只讀模式确丢,非SUPER權(quán)限,通常從服務(wù)器設(shè)置
master_info_repository
= TABLE master服務(wù)器信息存放位置
relay_log_info_repository
= TABLE 中繼日志信息存放位置
relay_log_recovery
= 1 salve宕機(jī)relaylog損壞吐限,則自動(dòng)修復(fù)
binlog_gtid_simple_recovery
= 1 5.7.7默認(rèn)為1鲜侥,當(dāng)服務(wù)器重啟或者log被purged,gitd查找是否從開(kāi)始找
gtid_mode
= off 是否開(kāi)啟gtid模式
enforce_gtid_consistency
= 1 強(qiáng)制GTID的一致性诸典,如果開(kāi)啟基于gitd的復(fù)制描函,必須開(kāi)啟此項(xiàng)。
slave_compressed_protocol
= 1 使用主從復(fù)制壓縮
slave_net_timeout
= 120 主從重連接超時(shí)時(shí)間狐粱,超過(guò)此值以后赘阀,從服務(wù)器會(huì)自動(dòng)再次向主服務(wù)器發(fā)起連接請(qǐng)求。設(shè)置太小會(huì)造成主壓力大
server-id = 25245
#auto-increment-increment
= 2 自增開(kāi)始值
#auto-increment-offset
= 1 自增跨度
relay-log-purge
= 1 是否開(kāi)啟盡快的自動(dòng)清除不在需要的relay日志
replicate-ignore-db
= test 設(shè)置主從復(fù)制排除的數(shù)據(jù)庫(kù)
replicate-ignore-db
= mysql
slave-skip-errors
= all 跳過(guò)所有主從復(fù)制中的錯(cuò)誤脑奠,避免因錯(cuò)導(dǎo)致主從復(fù)制暫停基公,以后可以利用主從校驗(yàn)來(lái)恢復(fù)數(shù)據(jù)。
log-slave-updates
A->B->C 鏈路復(fù)制宋欺,B中必須開(kāi)啟此項(xiàng)以及l(fā)og-bin轰豆,這樣B中才會(huì)將SQL寫(xiě)入二進(jìn)制日志胰伍,用來(lái)給C復(fù)制
#---------------+
# other |
#---------------+
[mysqldump]
quick
max_allowed_packet
= 32M
[xtrabackup]
compress
parallel
=16
compress-threads
=16
rebuild-threads
=16
相關(guān)計(jì)算
1、myisam 索引存儲(chǔ)所占用的空間酸休,用這個(gè)來(lái)和key_buffer_size 做比較骂租,不要超過(guò)此值
select sum(index_length) from information_schema.tables where engine='myisam';
也可以
du -shc `find /path/to/mysql/data/directory/ -name "*.MYI"`
2、使用show status 和 show variables 命令的信息來(lái)監(jiān)控鍵緩沖的使用情況斑司,如果服務(wù)器運(yùn)行了很長(zhǎng)一段時(shí)間后渗饮,還是沒(méi)有使用完所有的鍵緩沖,就可以調(diào)小key_buffer_size
100 - ((key_blocks_unused * key_cache_block_size) * 100 / key_buffer_size)
key_reads / Uptime (key_reads = `mysqladmin extended-status -r -i 10 | grep Key_reads`)計(jì)算每秒的緩存命中數(shù)
3宿刮、即使沒(méi)有任何myisam表互站,依然需要將key_buffer_size 設(shè)置為較小的值,例如32M僵缺,mysql服務(wù)器有時(shí)候會(huì)在內(nèi)部使用myisam表胡桃,例如group by 語(yǔ)句可能會(huì)使用myisam做臨時(shí)表。
4磕潮、myisam_block_size變量控制著索引塊大小翠胰,也可以指定每個(gè)索引塊的大小,在create table 或者 create index 語(yǔ)句中使用key_block_size選項(xiàng)即可自脯,最好保持和操作系統(tǒng)塊大小一致之景,否則會(huì)發(fā)生寫(xiě)時(shí)讀取
5、查看Threads_created 狀態(tài)變量膏潮,如果查看到很少有每秒創(chuàng)建的新線程數(shù)少于十個(gè)锻狗,應(yīng)該保持線程緩存足夠大(thread_cache_size),查看Threads_connected并且嘗試設(shè)置thread_cache_size足夠大以便能處理業(yè)務(wù)壓力正常的波動(dòng)戏罢。
6屋谭、可以通過(guò)檢查show innodb status 的輸出中l(wèi)og部分來(lái)監(jiān)控innodb的日志和日志緩沖區(qū)的I/O性能脚囊,通過(guò)觀察Innodb_os_log_written狀態(tài)變量來(lái)查看innodb多日志文件寫(xiě)出了多少數(shù)據(jù)龟糕,一個(gè)好用的經(jīng)驗(yàn)法則是,查看10-100秒間隔的數(shù)字悔耘,然后記錄峰值讲岁,可以這個(gè)來(lái)判斷日志緩沖innodb_log_buffer_size是否設(shè)置的正好,例如衬以,若看到峰值是每秒寫(xiě)100kb數(shù)據(jù)到日志缓艳,那么1MB的日志緩沖可能足夠了,那么256的日志文件足夠存儲(chǔ)至少2560秒的日志記錄看峻。作為 一個(gè)經(jīng)驗(yàn)法則阶淘,日志文件的全部大小,應(yīng)該足夠容納服務(wù)器一個(gè)小時(shí)的活動(dòng)內(nèi)容互妓。
7溪窒、InnoDB的page size一般是16KB坤塞,其數(shù)據(jù)校驗(yàn)也是針對(duì)這16KB來(lái)計(jì)算的,將數(shù)據(jù)寫(xiě)入
到磁盤(pán)是以page為單位進(jìn)行操作的澈蚌。操作系統(tǒng)寫(xiě)文件是以4KB作為單位的摹芙,那么每寫(xiě)一個(gè)
InnoDB的page到磁盤(pán)上,操作系統(tǒng)需要寫(xiě)4個(gè)塊宛瞄。而計(jì)算機(jī)硬件和操作系統(tǒng)浮禾,在極端情
況下(比如斷電)往往并不能保證這一操作的原子性,16K的數(shù)據(jù)份汗,寫(xiě)入4K時(shí)盈电,發(fā)生了系
統(tǒng)斷電或系統(tǒng)崩潰,只有一部分寫(xiě)是成功的裸影,這種情況下就是partial page write(部分頁(yè)
寫(xiě)入)問(wèn)題挣轨。這時(shí)page數(shù)據(jù)出現(xiàn)不一樣的情形,從而形成一個(gè)"斷裂"的page轩猩,使數(shù)據(jù)產(chǎn)生
混亂卷扮。這個(gè)時(shí)候InnoDB對(duì)這種塊錯(cuò)誤是無(wú) 能為力的.在一些情況下可以關(guān)閉doublewrite
以獲取更高的性能。比如在slave上可以關(guān)閉均践,因?yàn)榧词钩霈F(xiàn)了partial page write問(wèn)題晤锹,數(shù)
據(jù)還是可以從中繼日志中恢復(fù)。設(shè)置InnoDB_doublewrite=0即可關(guān)閉doublewrite buffer
8彤委、通過(guò)查看show status中的兩個(gè)值 Created_tmp_disk_tables鞭铆、Created_tmp_tables來(lái)查看是否使用了硬盤(pán)臨時(shí)表和內(nèi)存臨時(shí)表
mysql -e 'show status;'| egrep 'Created_tmp_disk_tables|Created_tmp_tables'
9、觀察Max_used_connections 狀態(tài)變量隨著時(shí)間的變化焦影,如果這個(gè)值達(dá)到了max_connections车遂,說(shuō)明客戶端至少被拒絕了一次,然后適當(dāng)調(diào)整max值
10斯辰、通過(guò)觀察Threads_connected狀態(tài)變量并且找到它在一般情況下的最大值和最小值 mysql -e 'show status;'| egrep 'Threads' 舶担,另外一個(gè)相關(guān)變量是Slow_launch_threads,這個(gè)狀態(tài)如果是個(gè)很大的值彬呻,那么意味著某些情況延遲了連接分配新線程衣陶。
11、table_cache_size 這個(gè)緩存應(yīng)該被設(shè)置的足夠大闸氮,以避免總是需要重新打開(kāi)和重新解析表的定義剪况。可以通過(guò)觀察Open_tables 的值以及在一段時(shí)間的變化來(lái)檢查該變量蒲跨,如果看到Opened_tables 每秒變化很大译断,那么table_cache值可能不夠大,這個(gè)值從max_connections 的10倍開(kāi)始設(shè)置是比較有道理的或悲,但是在大部分場(chǎng)景下最好保持在10000一下甚至更低孙咪。
12藏姐、在線配置mysql配置文件地址 tools.percona.com
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者