国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

mysql數據庫中my.cnf配置文件重要參數優(yōu)化配置的示

發(fā)布時(shí)間:2021-08-08 19:37 來(lái)源:億速云 閱讀:0 作者:小新 欄目: Mysql 歡迎投稿:712375056

小編給大家分享一下數據中my.cnf配置文件重要參數優(yōu)化配置的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

MyISAM存儲引擎

MyISAM存儲引擎適用于讀多寫(xiě)少,對讀性能要求比較高的系統

官方文檔:http://dev.mysql.com/doc/refman/5.6/en/myisam-storage-engine.html

Key_buffer_size,可以設置為內存的30%-40%左右。通過(guò)show variables like ‘%key_buffer_size%';

通過(guò) show global status like ‘%key_blocks_unused%' 查看是否還有剩余,如果剩余很多,就不需要再加大key_buffer_size了
如果不用MyISAM,建議設置16m到32m就可以了

Query_cache 如果應用程序有大量讀且應用程序級別沒(méi)有緩存,設置這個(gè)會(huì )比較有用,但是也別太大,維護開(kāi)銷(xiāo)比較大,mysql反而會(huì )變慢,建議32m到512m

Sort_buffer_size當進(jìn)行復雜查詢(xún)時(shí)候用到,建議8m到16m

Query_cache_size緩存select查詢(xún)結果,如果有大量相同查詢(xún),可以將這個(gè)值加大。

Bulk_insert_buffer_size 批量insert時(shí)候使用,必須小于key_buffer_size

Read_rnd_buffer_size sql有order by的情況下并且第二次查詢(xún)時(shí)候就會(huì )用到,他會(huì )記錄排序,將直接從內存中讀取。

Thread_cache_size cache中保留多少線(xiàn)程重用,如果再設置的值內,線(xiàn)程斷開(kāi)也不會(huì )銷(xiāo)毀,等待新鏈接。減少線(xiàn)程創(chuàng )建的開(kāi)銷(xiāo)。

參數官方參考文檔:http://dev.mysql.com/doc/refman/5.6/en/optimizing-myisam.html

Innodb 存儲引擎

Innodb 存儲引擎 1

并發(fā)線(xiàn)程數:Innodb_thread_concurrency=0[默認],并不是說(shuō)沒(méi)有并發(fā),而是指無(wú)限并發(fā),沒(méi)有并發(fā)檢查。innodb內部自己控制
取值0到1000

建議:

Cpu數量+磁盤(pán)數量 * 2,如果有RAID主備,就不乘2,因為有備份磁盤(pán)

Innodb 存儲引擎 2

Innodb_io_capacity默認值是200,個(gè)人認為是表示磁盤(pán)IO的吞吐量,innodb每秒后臺進(jìn)程處理IO操作的數據頁(yè)上限

Innodb_io_capacity_max默認2000,設置IO上線(xiàn)

源碼:在innodb存儲引擎層搜索srv_io_capacity(主要在srv0srv.c文件中)

當使用SSD可以再調高一些,直到符合磁盤(pán)IO吞吐量即可

Innodb 存儲引擎 3

innodb_max_dirty_pages_pct innodb從innodb buffer中刷新臟頁(yè)的比例15% - 80%

源碼:在innodb存儲引擎層搜索srv_max_buf_pool_modified_pct(主要在srv0srv.c文件中)

Innodb 存儲引擎 4 [重要]

innodb_flush_method( O_DSYNC 、 O_DIRECT )

O_DSYNC:InnoDB使用O_SYNC模式打開(kāi)并更新日志文件,用fsync()函數去更新數據文件。

O_DIRECT:InnoDB使用O_DIRECT模式打開(kāi)數據文件,用fsync()函數去更新日志和數據文件

在raid設備上,為了避免數據被innodb_buffer和raid多次cache,設置為O_DIRECT方式。也就是說(shuō)直接打開(kāi)數據文件,不用打開(kāi)日志文件了。

源碼:在innodb存儲引擎層搜索srv_unix_file_flush_method(主要在log0log.c、os0file.c文件中)

Innodb 存儲引擎 5 【重要】

innodb_buffer_pool_size

Innodb會(huì )遵循lru,在錄入數據的時(shí)候會(huì )根據數據的情況,會(huì )加載到innodb_buffer_pool_size 中。如果操作數據的時(shí)候就省去了去數據文件中查找,直接從內存中找到了。

一般設置內存的80%左右,但需要考慮數據文件的總量是多大。Buffer_pool_size + 數據量所占容量 + 操作系統所用內存 = 內存大小。盡可能設置多一些。

源碼:在innodb存儲引擎層搜索srv_buf_pool_size(在srv0srv.c、srv0start.c文件中)。

Innodb 存儲引擎 6

innodb_buffer_pool_instances 當有多實(shí)例的情況下,需要設置。

源碼:在innodb存儲引擎層搜索srv_buf_pool_instances(主要集中在的buf0buf.c文件)

Innodb 存儲引擎 7

innodb_log_file_size 日志文件大小

innodb_log_buffer_size 日志緩存大小

先寫(xiě)入innodb_log_buffer,buffer寫(xiě)滿(mǎn)或事務(wù)提交,刷新數據,大事務(wù)頻繁,增加innodb_log_buffer_size大小,默認16M。

源碼:在innodb存儲引擎層搜索srv_log_buffer_size(主要在log0log.c文件中)

Innodb 存儲引擎 8 【重要】

Innodb_file_per_table

當設置Innodb_file_per_table 為1時(shí)為打開(kāi)狀態(tài),也就是設置所有表為獨立表空間,一個(gè)表一個(gè)存儲數據文件。同時(shí)要設置

Innodb_open_files(同時(shí)打開(kāi)文件數)。因為每個(gè)表對應一個(gè)數據文件,所以需要設置同時(shí)打開(kāi)文件的數量以保證查詢(xún)多表的情況,并且想要把某個(gè)表移出的別的磁盤(pán)時(shí)共享表空間是無(wú)法遷移的,因為所有表都使用著(zhù)共享表空間。

默認是所有表都放到共享空間中。也就是OFF

innodb 存儲引擎9

Innodb_flush_log_at_trx_commit 核心參數:

0:每秒將log buffer的內容寫(xiě)事務(wù)日志并且刷新到磁盤(pán)

1:每個(gè)事務(wù)提交后,將log buffer的內容寫(xiě)事務(wù)日志并寫(xiě)入數據磁盤(pán)

2:每個(gè)事務(wù)提交,將log buffer內容寫(xiě)事務(wù)日志,但是不進(jìn)行數據刷盤(pán)

Sync_binlog

雙一致模式: innodb_flush_log_at_trx_commit=1;sync_binlog=1;這樣的主從數據是一致的,不會(huì )丟數據。

官方參數描述地址: http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html

系統參數優(yōu)化

NUMA(雙實(shí)例下,可以把每一個(gè)實(shí)例放到numa單獨控制的節點(diǎn)下面)

在os層numa關(guān)閉時(shí),打開(kāi)bios層的numa會(huì )影響性能,QPS會(huì )下降15-30%左右;

在bios層面numa關(guān)閉是,無(wú)論os層面的numa是否打開(kāi),都不會(huì )影響性能。

系統優(yōu)化 jemalloc

網(wǎng)卡優(yōu)化:RPS+RFS

malloc

1)、下載jemalloc源碼包
wget http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2
tar -xjf jemalloc-3.6.0.tar.bz2

2)、編譯安裝
cd jemalloc-3.6.0; ./configure;make &make install

3)、配置MySQL

[mysqld_safe]
malloc-lib=$PATH/libjemalloc.so

4)、參考文檔:http://blog.chinaunix.net/uid-29957450-id-4547818.html

my.cnf配置文件參考

# 以下選項會(huì )被MySQL客戶(hù)端應用讀取。 
# 注意只有MySQL附帶的客戶(hù)端應用程序保證可以讀取這段內容。 
# 如果你想你自己的MySQL應用程序獲取這些值。 
# 需要在MySQL客戶(hù)端庫初始化的時(shí)候指定這些選項。
[client]
port    = 3306
socket   = /usr/local/mysql/mysql.sock
# MySQL 服務(wù)端
[mysqld]
#默認存儲引擎INNODB
default-storage-engine=INNODB
#GROUP_CONCAT長(cháng)度
group_concat_max_len =99999
#端口號
port    = 3306
#socket位置
socket   = /usr/local/mysql/mysql.sock 
#pid寫(xiě)入文件位置
pid-file    = /usr/local/mysql/mysqld.pid
#數據庫文件位置
datadir     = /home/data/mysql/data
user    = mysql
#SQL模式具體查閱相關(guān)資料
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#當外部鎖定(external-locking)起作用時(shí),每個(gè)進(jìn)程若要訪(fǎng)問(wèn)數據表,
#則必須等待之前的進(jìn)程完成操作并解除鎖定。由于訪(fǎng)問(wèn)數據表時(shí)經(jīng)常需要等待解鎖,
#因此在單服務(wù)器環(huán)境下external locking會(huì )讓MySQL性能下降。
#所以在很多Linux發(fā)行版的源中,MySQL配置文件中默認使用了skip-external-locking來(lái)避免external locking。
skip-external-locking
#跳過(guò)反向解析
skip-name-resolve
#關(guān)閉TIMESTAMP類(lèi)型默認值
explicit_defaults_for_timestamp

#不受client字符集影響,保證sever端字符集
skip-character-set-client-handshake
#初始連接字符集UTF8
init-connect='SET NAMES utf8'
#默認數據庫字符集
character-set-server=utf8

#查詢(xún)緩存0,1,2,分別代表了off、on、demand
query_cache_type = 1
#單位秒,握手時(shí)間超過(guò)connect_timeout,連接請求將會(huì )被拒絕
connect_timeout = 20
#設置在多少秒沒(méi)收到主庫傳來(lái)的Binary Logs events之后,從庫認為網(wǎng)絡(luò )超時(shí),Slave IO線(xiàn)程會(huì )重新連接主庫。
#該參數的默認值是3600s ,然而時(shí)間太久會(huì )造成數據庫延遲或者主備庫直接的鏈接異常不能及時(shí)發(fā)現。
#將 slave_net_timeout 設得很短會(huì )造成 Master 沒(méi)有數據更新時(shí)頻繁重連。一般線(xiàn)上設置為5s 
slave_net_timeout = 30

#這個(gè)參數用來(lái)配置從服務(wù)器的更新是否寫(xiě)入二進(jìn)制日志,這個(gè)選項默認是不打開(kāi)的,
#但是,如果這個(gè)從服務(wù)器B是服務(wù)器A的從服務(wù)器,同時(shí)還作為服務(wù)器C的主服務(wù)器,那么就需要開(kāi)發(fā)這個(gè)選項,
#這樣它的從服務(wù)器C才能獲得它的二進(jìn)制日志進(jìn)行同步操作
log-slave-updates=1
#用于slave服務(wù)器,io線(xiàn)程會(huì )把server id與自己相同的event寫(xiě)入日志,與log-slave-updates選項沖突
replicate-same-server-id=0
# 對了生成唯一的server_id我想到了,大家ip地址唯一,比如10.112.87.91 ,就直接去掉點(diǎn)號在后面加上編號01或者02或者03(加上2位數編號是怕一臺物理機
滄岸嗍道,主從復制需要server-id來(lái)標識的
# 用10112879101做server_id就可以了。
server_id=10112879101
# 打開(kāi)二進(jìn)制日志功能. 
# 在復制(replication)配置中,作為MASTER主服務(wù)器必須打開(kāi)此項 
# 如果你需要從你最后的備份中做基于時(shí)間點(diǎn)的恢復,你也同樣需要二進(jìn)制日志
log-bin =/home/data/mysql/binlog/mysql-bin.log
#relay-log日志
relay-log=mysql-relay-bin
#master-info-repository以及relay-log-info-repository打開(kāi)以啟用崩潰安全的二進(jìn)制日志/從服務(wù)器功能(在事務(wù)表而不是平面文件中存儲信息)
master-info-repository=TABLE
relay-log-info-repository=TABLE

#不寫(xiě)入binlog二進(jìn)制日志中的數據庫
binlog-ignore-db=mysql       # No sync databases
binlog-ignore-db=test        # No sync databases
binlog-ignore-db=information_schema   # No sync databases
binlog-ignore-db=performance_schema   # No sync databases

#寫(xiě)入binlog二進(jìn)制日志中數據庫
binlog-do-db=business_db
binlog-do-db=user_db
binlog-do-db=plocc_system

#15滾動(dòng)清理binlog
expire-logs-days=15
max_binlog_size = 1073741824      # Bin logs size ( 1G )

#使binlog在每1000次binlog寫(xiě)入后與硬盤(pán)同步
sync_binlog = 1000

#指定只復制哪個(gè)庫的數據
replicate-do-db=business_db
replicate-do-db=user_db
replicate-do-db=plocc_system

#開(kāi)啟事件調度器Event Scheduler
event_scheduler=1
#MySQL能暫存的連接數量。當主要MySQL線(xiàn)程在一個(gè)很短時(shí)間內得到非常多的連接請求,這就起作用。
#如果MySQL的連接數據達到max_connections時(shí),新來(lái)的請求將會(huì )被存在堆棧中,以等待某一連接釋放資源,
#該堆棧的數量即back_log,如果等待連接的數量超過(guò)back_log,將不被授予連接資源
back_log = 500

#整個(gè)數據庫最大連接(用戶(hù))數
max_connections = 6000
#一個(gè)用戶(hù)的最大連接數
max_user_connection=3000 
# 每個(gè)客戶(hù)端連接最大的錯誤允許數量,如果達到了此限制. 
# 這個(gè)客戶(hù)端將會(huì )被MySQL服務(wù)阻止直到執行了”FLUSH HOSTS” 或者服務(wù)重啟 
# 非法的密碼以及其他在鏈接時(shí)的錯誤會(huì )增加此值. 
# 查看 “Aborted_connects” 狀態(tài)來(lái)獲取全局計數器
max_connect_errors = 1844674407370954751
#表描述符緩存大小,可減少文件打開(kāi)/關(guān)閉次數
table_open_cache = 2048

# 服務(wù)所能處理的請求包的最大大小以及服務(wù)所能處理的最大的請求大小(當與大的BLOB字段一起工作時(shí)相當必要) 
# 每個(gè)連接獨立的大小.大小動(dòng)態(tài)增加
max_allowed_packet = 64M
# 在一個(gè)事務(wù)中binlog為了記錄SQL狀態(tài)所持有的cache大小 
# 如果你經(jīng)常使用大的,多聲明的事務(wù),你可以增加此值來(lái)獲取更大的性能. 
# 所有從事務(wù)來(lái)的狀態(tài)都將被緩沖在binlog緩沖中然后在提交后一次性寫(xiě)入到binlog中 
# 如果事務(wù)比此值大, 會(huì )使用磁盤(pán)上的臨時(shí)文件來(lái)替代. 
# 此緩沖在每個(gè)連接的事務(wù)第一次更新?tīng)顟B(tài)時(shí)被創(chuàng  )建
binlog_cache_size = 1M
# 獨立的內存表所允許的最大容量. 
# 此選項為了防止意外創(chuàng  )建一個(gè)超大的內存表導致用盡所有的內存資源.
max_heap_table_size = 1342177280
# 排序緩沖被用來(lái)處理類(lèi)似ORDER BY以及GROUP BY隊列所引起的排序 
# 如果排序后的數據無(wú)法放入排序緩沖, 
# 一個(gè)用來(lái)替代的基于磁盤(pán)的合并分類(lèi)會(huì )被使用 
# 查看 “Sort_merge_passes” 狀態(tài)變量. 
# 在排序發(fā)生時(shí)由每個(gè)線(xiàn)程分配
sort_buffer_size = 8M
# 此緩沖被使用來(lái)優(yōu)化全聯(lián)合(full JOINs 不帶索引的聯(lián)合). 
# 類(lèi)似的聯(lián)合在極大多數情況下有非常糟糕的性能表現, 
# 但是將此值設大能夠減輕性能影響. 
# 通過(guò) “Select_full_join” 狀態(tài)變量查看全聯(lián)合的數量 
# 當全聯(lián)合發(fā)生時(shí),在每個(gè)線(xiàn)程中分配 
join_buffer_size = 8M
# 我們在cache中保留多少線(xiàn)程用于重用 
# 當一個(gè)客戶(hù)端斷開(kāi)連接后,如果cache中的線(xiàn)程還少于thread_cache_size, 
# 則客戶(hù)端線(xiàn)程被放入cache中. 
# 這可以在你需要大量新連接的時(shí)候極大的減少線(xiàn)程創(chuàng  )建的開(kāi)銷(xiāo) 
# (一般來(lái)說(shuō)如果你有好的線(xiàn)程模型的話(huà),這不會(huì )有明顯的性能提升.)
thread_cache_size = 128
# 此允許應用程序給予線(xiàn)程系統一個(gè)提示在同一時(shí)間給予渴望被運行的線(xiàn)程的數量. 
# 此值只對于支持 thread_concurrency() 函數的系統有意義( 例如Sun Solaris). 
# 你可可以嘗試使用 [CPU數量]*(2..4) 來(lái)作為thread_concurrency的值
thread_concurrency = 8
# 查詢(xún)緩沖常被用來(lái)緩沖 SELECT 的結果并且在下一次同樣查詢(xún)的時(shí)候不再執行直接返回結果. 
# 打開(kāi)查詢(xún)緩沖可以極大的提高服務(wù)器速度, 如果你有大量的相同的查詢(xún)并且很少修改表. 
# 查看 “Qcache_lowmem_prunes” 狀態(tài)變量來(lái)檢查是否當前值對于你的負載來(lái)說(shuō)是否足夠高. 
# 注意: 在你表經(jīng)常變化的情況下或者如果你的查詢(xún)原文每次都不同, 
# 查詢(xún)緩沖也許引起性能下降而不是性能提升.
query_cache_size = 64M
# 只有小于此設定值的結果才會(huì )被緩沖 
# 此設置用來(lái)保護查詢(xún)緩沖,防止一個(gè)極大的結果集將其他所有的查詢(xún)結果都覆蓋
query_cache_limit = 2M
# 被全文檢索索引的最小的字長(cháng). 
# 你也許希望減少它,如果你需要搜索更短字的時(shí)候. 
# 注意在你修改此值之后, 
# 你需要重建你的 FULLTEXT 索引
ft_min_word_len = 4
# 線(xiàn)程使用的堆大小. 此容量的內存在每次連接時(shí)被預留. 
# MySQL 本身常不會(huì )需要超過(guò)64K的內存 
# 如果你使用你自己的需要大量堆的UDF函數 
# 或者你的操作系統對于某些操作需要更多的堆, 
# 你也許需要將其設置的更高一點(diǎn). 
thread_stack = 192K
# 設定默認的事務(wù)隔離級別.可用的級別如下: 
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = READ-COMMITTED
# 內部(內存中)臨時(shí)表的最大大小 
# 如果一個(gè)表增長(cháng)到比此值更大,將會(huì )自動(dòng)轉換為基于磁盤(pán)的表. 
# 此限制是針對單個(gè)表的,而不是總和.
tmp_table_size = 1342177280

#binlog日志類(lèi)型--混合型
binlog_format=mixed
#開(kāi)啟慢查詢(xún)日志
slow_query_log
#文件格式
log_output = FILE
# 所有的使用了比這個(gè)時(shí)間(以秒為單位)更多的查詢(xún)會(huì )被認為是慢速查詢(xún). 
# 不要在這里使用”0″, 否則會(huì )導致所有的查詢(xún),甚至非??斓牟樵?xún)頁(yè)被記錄下來(lái)(由于MySQL 目前時(shí)間的精確度只能達到秒的級別). 
long_query_time = 0.5
#慢查詢(xún)日志位置
slow_query_log_file=/usr/local/mysql/mysqld_slow.log
#指定索引緩沖區的大小,它決定索引處理的速度,尤其是索引讀的速度

#******************** MyISAM 相關(guān)選項********************************
# 關(guān)鍵詞緩沖的大小, 一般用來(lái)緩沖MyISAM表的索引塊. 
# 不要將其設置大于你可用內存的30%, 
# 因為一部分內存同樣被OS用來(lái)緩沖行數據 
# 甚至在你并不使用MyISAM 表的情況下, 你也需要仍舊設置起 8-64M 內存由于它同樣會(huì )被內部臨時(shí)磁盤(pán)表使用.
key_buffer_size = 32M
# 用來(lái)做MyISAM表全表掃描的緩沖大小. 
# 當全表掃描需要時(shí),在對應線(xiàn)程中分配.
read_buffer_size = 2M
# 當在排序之后,從一個(gè)已經(jīng)排序好的序列中讀取行時(shí),行數據將從這個(gè)緩沖中讀取來(lái)防止磁盤(pán)尋道. 
# 如果你增高此值,可以提高很多ORDER BY的性能. 
# 當需要時(shí)由每個(gè)線(xiàn)程分配 
read_rnd_buffer_size = 8M
# MyISAM 使用特殊的類(lèi)似樹(shù)的cache來(lái)使得突發(fā)插入 
# (這些插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA 
# INFILE) 更快. 此變量限制每個(gè)進(jìn)程中緩沖樹(shù)的字節數. 
# 設置為 0 會(huì )關(guān)閉此優(yōu)化. 
# 為了最優(yōu)化不要將此值設置大于 “key_buffer_size”. 
# 當突發(fā)插入被檢測到時(shí)此緩沖將被分配.
bulk_insert_buffer_size = 16M
# 此緩沖當MySQL需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一個(gè)空表中引起重建索引時(shí)被分配. 
# 這在每個(gè)線(xiàn)程中被分配.所以在設置大值時(shí)需要小心.
myisam_sort_buffer_size = 128M
# MySQL重建索引時(shí)所允許的最大臨時(shí)文件的大小 (當 REPAIR, ALTER TABLE 或者 LOAD DATA INFILE). 
# 如果文件大小比此值更大,索引會(huì )通過(guò)鍵值緩沖創(chuàng  )建(更慢) 
myisam_max_sort_file_size = 1G
# 如果一個(gè)表?yè)碛谐^(guò)一個(gè)索引, MyISAM 可以通過(guò)并行排序使用超過(guò)一個(gè)線(xiàn)程去修復他們. 
# 這對于擁有多個(gè)CPU以及大量?jì)却媲闆r的用戶(hù),是一個(gè)很好的選擇.
myisam_repair_threads = 1
# 自動(dòng)檢查和修復沒(méi)有適當關(guān)閉的 MyISAM 表. 
myisam_recover

# *************** INNODB 相關(guān)選項 ********************* 
# 如果你的MySQL服務(wù)包含InnoDB支持但是并不打算使用的話(huà), 
# 使用此選項會(huì )節省內存以及磁盤(pán)空間,并且加速某些部分 
#skip-innodb

# #####[關(guān)鍵項]
# InnoDB使用一個(gè)緩沖池來(lái)保存索引和原始數據, 不像 MyISAM. 
# 這里你設置越大,你在存取表里面數據時(shí)所需要的磁盤(pán)I/O越少. 
# 在一個(gè)獨立使用的數據庫服務(wù)器上,你可以設置這個(gè)變量到服務(wù)器物理內存大小的80% 
# 不要設置過(guò)大,否則,由于物理內存的競爭可能導致操作系統的換頁(yè)顛簸. 
# 注意在32位系統上你每個(gè)進(jìn)程可能被限制在 2-3.5G 用戶(hù)層面內存限制, 
# 所以不要設置的太高.
innodb_buffer_pool_size = 700m #1G
# InnoDB 將數據保存在一個(gè)或者多個(gè)數據文件中成為表空間. 
# 如果你只有單個(gè)邏輯驅動(dòng)保存你的數據,一個(gè)單個(gè)的自增文件就足夠好了. 
# 其他情況下.每個(gè)設備一個(gè)文件一般都是個(gè)好的選擇. 
# 你也可以配置InnoDB來(lái)使用裸盤(pán)分區 – 請參考手冊來(lái)獲取更多相關(guān)內容
innodb_data_file_path = IBdata1:1024M;IBdata2:1024M:autoextend
# 設置此選項如果你希望InnoDB表空間文件被保存在其他分區. 
# 默認保存在MySQL的datadir中. 
#innodb_data_home_dir = 
# 用來(lái)同步IO操作的IO線(xiàn)程的數量. This value is 
# 此值在Unix下被硬編碼為4,但是在Windows磁盤(pán)I/O可能在一個(gè)大數值下表現的更好. 
innodb_file_io_threads = 4
# 在InnoDb核心內的允許線(xiàn)程數量. 
# 最優(yōu)值依賴(lài)于應用程序,硬件以及操作系統的調度方式. 
# 過(guò)高的值可能導致線(xiàn)程的互斥顛簸.
innodb_thread_concurrency = 16
# #####[關(guān)鍵項]
# 如果設置為1 ,InnoDB會(huì )在每次提交后刷新(fsync)事務(wù)日志到磁盤(pán)上, 
# 這提供了完整的ACID行為. 
# 如果你愿意對事務(wù)安全折衷, 并且你正在運行一個(gè)小的事務(wù), 你可以設置此值到0或者2來(lái)減少由事務(wù)日志引起的磁盤(pán)I/O 
# 0代表日志只大約每秒寫(xiě)入日志文件并且日志文件刷新到磁盤(pán). 
# 2代表日志寫(xiě)入日志文件在每次提交后,但是日志文件只有大約每秒才會(huì )刷新到磁盤(pán)上. 
# --------------------
# (說(shuō)明:如果是游戲服務(wù)器,建議此值設置為2;如果是對數據安全要求極高的應用,建議設置為1;
# 設置為0性能最高,但如果發(fā)生故障,數據可能會(huì )有丟失的危險!
# 默認值1的意思是每一次事務(wù)提交或事務(wù)外的指令都需要把日志寫(xiě)入(flush)硬盤(pán),這是很費時(shí)的。
# 特別是使用電池供電緩存(Battery backed up cache)時(shí)。設成2對于很多運用,特別是從MyISAM表轉過(guò)來(lái)的是可以的,
# 它的意思是不寫(xiě)入硬盤(pán)而是寫(xiě)入系統緩存。日志仍然會(huì )每秒flush到硬盤(pán),所以你一般不會(huì )丟失超過(guò)1-2秒的更新。
# 設成0會(huì )更快一點(diǎn),但安全方面比較差,即使MySQL掛了也可能會(huì )丟失事務(wù)的數據。而值2只會(huì )在整個(gè)操作系統掛了時(shí)才可能丟數據)
innodb_flush_log_at_trx_commit = 2

# 用來(lái)緩沖日志數據的緩沖區的大小. 
# 當此值快滿(mǎn)時(shí), InnoDB將必須刷新數據到磁盤(pán)上. 
# 由于基本上每秒都會(huì )刷新一次,所以沒(méi)有必要將此值設置的太大(甚至對于長(cháng)事務(wù)而言) 
innodb_log_buffer_size = 16M

# 在日志組中每個(gè)日志文件的大小. 
# 你應該設置日志文件總合大小到你緩沖池大小的25%~100% 
# 來(lái)避免在日志文件覆寫(xiě)上不必要的緩沖池刷新行為. 
# 不論如何, 請注意一個(gè)大的日志文件大小會(huì )增加恢復進(jìn)程所需要的時(shí)間
innodb_log_file_size = 1024M

# 在日志組中的文件總數. 
# 通常來(lái)說(shuō)2~3是比較好的. 
innodb_log_files_in_group = 3

# InnoDB的日志文件所在位置. 默認是MySQL的datadir. 
# 你可以將其指定到一個(gè)獨立的硬盤(pán)上或者一個(gè)RAID1卷上來(lái)提高其性能 
#innodb_log_group_home_dir

# 在InnoDB緩沖池中最大允許的臟頁(yè)面的比例. 
# 如果達到限額, InnoDB會(huì )開(kāi)始刷新他們防止他們妨礙到干凈數據頁(yè)面. 
# 這是一個(gè)軟限制,不被保證絕對執行. 
innodb_max_dirty_pages_pct = 90

# InnoDB用來(lái)刷新日志的方法. 
# 表空間總是使用雙重寫(xiě)入刷新方法 
# 默認值是 “fdatasync”, 另一個(gè)是 “O_DSYNC”. 
innodb_flush_method=O_DSYNC

# 在被回滾前,一個(gè)InnoDB的事務(wù)應該等待一個(gè)鎖被批準多久. 
# InnoDB在其擁有的鎖表中自動(dòng)檢測事務(wù)死鎖并且回滾事務(wù). 
# 如果你使用 LOCK TABLES 指令, 或者在同樣事務(wù)中使用除了InnoDB以外的其他事務(wù)安全的存儲引擎 
# 那么一個(gè)死鎖可能發(fā)生而InnoDB無(wú)法注意到. 
# 這種情況下這個(gè)timeout值對于解決這種問(wèn)題就非常有幫助. 
innodb_lock_wait_timeout = 30

[mysqldump]
# 不要在將內存中的整個(gè)結果寫(xiě)入磁盤(pán)之前緩存. 在導出非常巨大的表時(shí)需要此項
quick

max_allowed_packet = 64M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
# 增加每個(gè)進(jìn)程的可打開(kāi)文件數量. 
# 警告: 確認你已經(jīng)將全系統限制設定的足夠高! 
# 打開(kāi)大量表需要將此值設大
open-files-limit = 8192
log-error=/usr/local/mysql/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

国产二级一片内射视频插放| 亚洲欧美第一成人网站7777| 新版天堂在线WWW中文在线| 国产AV巨作丝袜秘书| 麻豆亚洲AV成人无码久久精品| 无码AⅤ精品一区二区三区|