Linux记录-mysql参数优化
1.參數(shù)優(yōu)化
show variables like ''
/etc/my.cnf
[mysqld]
Max_connections =1024 #請求的最大連接數(shù)
back_log =1024 #mysql能暫存的連接數(shù)量,當(dāng)連接數(shù)達(dá)到max_connections時新連接會被存儲到堆棧中
wait_timeout=100 #關(guān)閉一個非交互的連接之前所要等待的秒數(shù)
interactive_timeout=7200 #設(shè)置的時間就會自動斷掉
key_buffer_size=128M #索引緩沖區(qū)的大小,決定索引處理的速度
query_cache_size=256M #查詢緩存
query_cache_type=1 #緩存類型,1為緩存所有
max_connect_errors=20 #阻止過多嘗試失敗的客戶端連接
sort_buffer_size=2M #每個需要進(jìn)行排序的線程分配該大小的一個緩沖區(qū)
max_allowed_packet=32M #server接受的數(shù)據(jù)包大小
join_buffer_size=2M #表間關(guān)聯(lián)緩存的大小
thread_cache_size = 300 #服務(wù)器線程緩存
innodb_buffer_pool_size= 2048M #InnoDB使用該參數(shù)指定大小的內(nèi)存來緩沖數(shù)據(jù)和索引
innodb_flush_log_at_trx_commit =2 #主要控制了innodb將log buffer中的數(shù)據(jù)寫入日志文件并flush磁盤的時間點(diǎn),取值分別為0、1、2三個。0,表示當(dāng)事務(wù)提交時,不做日志寫入操作,而是每秒鐘將log buffer中的數(shù)據(jù)寫入日志文件并flush磁盤一次;1,則在每秒鐘或是每次事物的提交都會引起日志文件寫入、flush磁盤的操作,確保了事務(wù)的ACID;設(shè)置為2,每次事務(wù)提交引起寫入日志文件的動作,但每秒鐘完成一次flush磁盤操作。
innodb_thread_concurrency = 0 #innodb線程的并發(fā)數(shù)量,默認(rèn)值為0表示不限制
innodb_log_buffer_size=32M #此參數(shù)確定些日志文件所用的內(nèi)存大小,以M為單位。緩沖區(qū)更大能提高性能,對于較大的事務(wù),可以增大緩存大小。
innodb_log_file_size = 50M #此參數(shù)確定數(shù)據(jù)日志文件的大小,以M為單位,更大的設(shè)置可以提高性能.
read_buffer_size = 1M #讀入緩沖區(qū)大小
read_rnd_buffer_size = 16M #MySql 的隨機(jī)讀(查詢操作)緩沖區(qū)大小
bulk_insert_buffer_size = 64M #批量插入數(shù)據(jù)緩存大小,可以有效提高插入效率,默認(rèn)為8M
log-bin=/usr/local/mysql/data/mysql-bin
binlog_cache_size = 2M #為每個session 分配的內(nèi)存,在事務(wù)過程中用來存儲二進(jìn)制日志的緩存, 提高記錄bin-log的效率
max_binlog_cache_size = 8M //表示的是binlog 能夠使用的最大cache 內(nèi)存大小
max_binlog_size= 512M //指定binlog日志文件的大小,如果當(dāng)前的日志大小達(dá)到max_binlog_size,還會自動創(chuàng)建新的二進(jìn)制日志。你不能將該變量設(shè)置為大于1GB或小于4096字節(jié)。默認(rèn)值是1GB。在導(dǎo)入大容量的sql文件時,建議關(guān)閉sql_log_bin,否則硬盤扛不住,而且建議定期做刪除。
expire_logs_days = 7 //定義了mysql清除過期日志的時間。二進(jìn)制日志自動刪除的天數(shù)。默認(rèn)值為0,表示“沒有自動刪除”。
mysqladmin flush-logs 也可以重新開始新的binarylog
MYSQL性能優(yōu)化的最佳20+條經(jīng)驗(yàn)
1. 為查詢緩存優(yōu)化你的查詢-大多數(shù)的MySQL服務(wù)器都開啟了查詢緩存
2. EXPLAIN 你的 SELECT 查詢
3. 當(dāng)只要一行數(shù)據(jù)時使用 LIMIT 1
4. 為搜索字段建索引
5. 在Join表的時候使用相當(dāng)類型的例,并將其索引
6. 避免 SELECT *
7. 永遠(yuǎn)為每張表設(shè)置一個I
8. 盡可能的使用 NOT NULL
轉(zhuǎn)載于:https://www.cnblogs.com/xinfang520/p/11166998.html
總結(jié)
以上是生活随笔為你收集整理的Linux记录-mysql参数优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十种经济的方法帮你建立企业品牌
- 下一篇: eclipse连接Mysql和测试