溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

centos7-mysql-cnf配置文件優(yōu)化

發(fā)布時間:2020-07-16 03:13:14 來源:網(wǎng)絡 閱讀:2328 作者:動力在于作 欄目:MySQL數(shù)據(jù)庫

mysql優(yōu)化最常見的就是my.cnf文件配置優(yōu)化
限制線程,訪問等等
 max_connections = 151   
每個版本的限制不一樣,限制最多連接數(shù),并發(fā)訪問多,可以適當調(diào)高
 back_log = 數(shù)值
如果并發(fā)量大,很多命令沒法及時解決,使用這個參數(shù)就可以讓后來的命令排隊,存放在堆棧中
show full processlist   使用這個命令可以查看有多少命令在等待中,如果很多這時候就需要增加 back 或者connections的值
wait_timeout = 60 是一個非交互式等待的秒數(shù),省的占用資源
interactive_time = 200 交互式鏈接,如果長時間不操作自動斷開,給其他資源讓路
key_buffer_size = 256M
索引緩沖區(qū)大小,會緩存索引,省的去磁盤讀取節(jié)省IO資源,但是會占用內(nèi)存空間
show status like 'key_read%';  查看索引請求,多少是在緩沖區(qū)  多少沒有.
query_cache_size = 256M
SQL查詢語句緩沖,需要兩條語句一模一樣才能匹配
show status like 'Qcache%' 查看各種query_cache_size設置信息
Qcache_free_blocks    如果數(shù)值過大則是碎片過多需要整理
 
Qcache_free_memory   剩余內(nèi)存大小
Qcache_hits       多少次命中緩存,
Qcache_inserts    多少次未命中
Qcache_lowmem_prunes    因為內(nèi)存不足而不記錄的語句
show variables like 'query_cache%'
query_cache_ limit   超過多大的查詢不緩存,看情況
query_cache_ min_res_unit  塊的大小,大了提高速度,小了節(jié)省空間
query_cache_ size    查詢緩存大小
query_cache_ type = 0/1/2 緩存類型,0等于關閉不緩存   1會緩存所有結果   2 通過sql_cache 指定需要緩存的查詢
max_connect_errors = 10 
密碼錯誤次數(shù)限制,可以防止暴力破解,如果輸錯多少次,以后再也不響應,除非重啟mysql或者flush hosts清空.
sort_buffer_size = 2M
mysql是通過線程來處理問題,主線程,分配給一個工作線程,每個線程會占用一定內(nèi)存資源,如果這個值過高,在碰巧遇到高并發(fā),就會耗盡內(nèi)存,看情況而定
max_allowed_packet = 32M
mysql會根據(jù)這個來限制接受的數(shù)據(jù)包大小,如果大了則失敗
join_buffer_size=2M
表關聯(lián)緩存大小,和
sort_buffer_size = 2M一樣,對每個線程鏈接分配.
 thread_cache_size = 300
緩存的工作線程, 主線程有事情了直接從緩存線程中提取分配,如果自動生成在結束時會自動銷毀.

-----------------------------------------------------------------------------
innodb配置
innodb_buffer_pool_size = 2048M
類似key_buffer_size lnnodb使用這個來確定緩沖數(shù)據(jù)和索引的大小
innodb_flush_log_at_trx_commit = 0/1/2
0每秒鐘將logbuffer中的數(shù)據(jù)寫入flush
1美妙和每次事物提交將log buffer中的數(shù)據(jù)寫入flush
2每次每秒鐘完成一次flush操作
這條對速度的影響非常大,如果在允許mysql地址碎金部分事物的危險前提下,可以設置0  2.
innodb_thread_concurrency = 0 
設置innodb的并發(fā)量,0不限制   一般CPU核心數(shù)的2倍,一般為8
innodb_log_buffer_size = 32M
緩存日志大小,事物很大,需要增加緩存
innodb_log_file_size = 50M
確定數(shù)據(jù)日志文件的大小
 innodb_log_files_in_group =3
mysql 可以將日志文件寫到多個文件,推薦是3
read_buffer_size = 1M
為每個鏈接單獨分配內(nèi)存,可以增加性能,但是消耗內(nèi)存
read_rnd_buffer_size = 16M
 隨手記讀緩沖區(qū)大小,如果需要排序時,會分配一個隨機讀緩沖區(qū)進行排序查詢,避免磁盤搜索占用IO提高查詢速度,如果數(shù)據(jù)大可以適當提高.
bulk_insert_buffer_size = 64M
批量插入緩存大小可以有效提高效率,默認8M
binary log 
log-bin=/*****mysql-bin
binlog_cache_size 
存儲二進制日志文件緩存
max_binlog_cache_size = 8M 使用的cache內(nèi)存大小 
max_binlog_size = 512M 日志文件大小,如果達到則會創(chuàng)建新的binlog日志
expire_logs_days = 7  定期清理過期日志
mysqladmin flush-logs 重新生成新的日志文件. 

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI