[client]
port = 3306 //客戶端端口號爲3306
socket = /tmp/mysql.sock //套接字文件(sockets),這種文件通常用在網絡上的資料套接,mysqld守護進程生成了這個文件,其餘與mysql相關的程序想使用mysql,估計就是經過這個文件了。
mysql
[mysql]
no-auto-rehash //僅僅容許使用鍵值的 UPDATEs 和 DELETEs .sql
[mysqld]
character-set-server = utf8 //新數據庫或數據表的默認字符集。爲了與MySQL的早期版本保持兼容,這個字符集也能夠用–default-character-set選項給出; 但這個選項已經顯得有點過期了。
replicate-ignore-db = mysql //不對這個數據庫進行鏡像處理。
replicate-ignore-db = test
replicate-ignore-db = information_schema
user = mysql //mysqld程序在啓動後將在給定UNIX/Linux帳戶下執行; mysqld必須從root帳戶啓動才能在啓動後切換到另外一個帳戶下執行; mysqld_safe腳本將默認使用–user=mysql選項來啓動mysqld程序。
port = 3306 //爲MySQL程序指定一個TCP/IP通訊端口(一般是3306端口)。
socket = /tmp/mysql.sock
basedir = /usr/local/mysql //使用給定目錄做爲根目錄(安裝目錄)。
datadir = /data/mysql/data //從給定目錄讀取數據庫文件。
open_files_limit = 10240 //設置打開文件數量容許至少值。
back_log = 600 //back_log是操做系統在監聽隊列中所能保持的鏈接數,隊列保存了再mysql鏈接管理器線程處理以前的鏈接,若是你有很是高的鏈接率而且出現"connection refused"報錯,你就應該增長此處的值。檢查你的操做系統文檔來獲取這個變量的最大值,若是將back_log設定到比你操做系統限制更高的值,將會沒有效果。
max_connections = 3000 //MySQL服務器同時處理的數據庫鏈接的最大數量(默認設置是100)。
max_connect_errors = 6000 //每一個客戶端鏈接最大的錯誤容許數量,若是達到了此限制,這個客戶端將會被mysql服務阻止直到執行了「flush hosts」或者服務重啓;非法的密碼以及其餘在連接時的錯誤會增長此值,查看「aborted_connects」狀態來獲取全局計數器。
table_cache = 614 //同時打開的數據表的數量(默認設置是64)。全部線程所打開表的數量,增長此值就增長了Mysqld所須要的文件描述符的數量,這樣你須要確認在【mysqld】中「open-files-limit」變量設置打開文件數量容許至少4096, table_cache=2048.
external-locking = FALSE //容許外部文件級別的鎖,打開文件鎖會對性能形成負面影響,因此只有在你在一樣的文件上運行多個數據庫實例時才使用此選項(注意仍會有其餘約束!),或者你在文件層面上使用了其餘一些軟件依賴來鎖定MyISAM表。
max_allowed_packet = 32M //服務所能處理的請求包的最大大小以及服務所能處理的最大的請求大小(當與大的BLOB字段一塊兒工做時至關必要),每一個連接獨立的大小,大小動態增長。
sort_buffer_size = 2M //爲排序操做分配的緩存區的長度(默認設置是2M); 若是這個緩存區過小,則必須建立一個臨時文件來進行排序。
join_buffer_size = 2M //在參加JOIN操做的數據列沒有索引時爲JOIN操做分配的緩存區長度(默認設置是128K)。
thread_cache_size = 300 //咱們在cache中保留多少線程用於重用,當一個客戶端斷開鏈接後,若是cache中的線程還少於thread_cache_size,則客戶端線程被放入cache中,這能夠在你須要大量新鏈接的時候極大的減小線程建立的開銷(通常來講若是你有好的線程模型的話,這不會有明顯的性能提高)。
thread_concurrency = 8 //容許線程併發大小,官方推薦設置和 CPU 最大線程同樣。
query_cache_size = 512M //查詢緩存區的最大長度(默認設置是0,不開闢查詢緩存區)。
query_cache_limit = 2M //容許臨時存放在查詢緩存區裏的查詢結果的最大長度(默認設置是1M)。
query_cache_min_res_unit = 2k //設置查詢緩存分配內存的最小單位,要適當地設置此參數,能夠作到爲減小內存塊的申請和分配次數,可是設置過大可能致使內存碎片數值上升。默認值爲4K,建議設置爲1k~16K。
default-storage-engine = MyISAM //新數據表的默認數據表類型(默認設置是MyISAM)。這項設置還能夠經過–default-table-type選項來設置。
default_table_type = MyISAM //當建立新表時做爲默認使用的表類型,若是在建立表示沒有特別執行表類型,將會使用此值。數據庫
thread_stack = 192K //線程使用的堆大小,此容量的內存在每次鏈接時被預留。mysql自己常不會須要超過64K的內存,若是你使用你本身的須要大量堆的UDF函數,或者你的操做系統對於某些操做須要更多的堆,你也許須要將其設置的更高一點。
transaction_isolation = READ-COMMITTED //設定默認的事務隔離級別,可用的級別有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE。
tmp_table_size = 246M //臨時HEAP數據表的最大長度(默認設置是32M); 超過這個長度的臨時數據表將被轉換爲MyISAM數據表並存入一個臨時文件。
max_heap_table_size = 246M //HEAP數據表的最大長度(默認設置是16M); 超過這個長度的HEAP數據表將被存入一個臨時文件而不是駐留在內存裏。
long_query_time = 3 //慢查詢的執行用時上限(默認設置是10s)。
log-bin = /data/mysql/3306/mysql-bin //把對數據進行修改的全部SQL命令(也就是INSERT、UPDATE和DELETE命令)以二進制格式記入日誌(二進制變動日誌,binary update log)。這種日誌的文件名是filename.n或默認的hostname.n,其中n是一個6位數字的整數(日誌文件按順序編號)。
binlog_cache_size = 4M //在一個事務中binlog爲了記錄sql狀態所持有的cache大小,若是你常用大的,多聲明的事務,你能夠增長此值來得到更大的性能,全部從事務來的狀態都被緩衝在binlog緩衝中,而後再提交後一次性寫入到binlog中,若是事務比此值大,會使用磁盤上的臨時文件來替代,此緩衝在每一個連接的事務第一次更新狀態時被建立。
binlog_format = MIXED //STATEMENT,ROW,MIXED # 基於SQL語句的複製(statement-based replication, SBR),基於行的複製(row-based replication, RBR),混合模式複製(mixed-based replication, MBR)。相應地,binlog的格式也有三種:STATEMENT,ROW,MIXED。
max_binlog_cache_size = 8M //最大的二進制Cache日誌緩衝區尺寸。
max_binlog_size = 1G //二進制日誌文件的最大長度(默認設置是1GB)。在前一個二進制日誌文件裏的信息量超過這個最大長度以前,MySQL服務器會自動提供一個新的二進制日誌文件接續上。
expire_logs_days = 30 //超過30天的binlog刪除。
key_buffer_size = 256M //用來存放索引區塊的RMA值(默認設置是8M)。
read_buffer_size = 1M //爲從數據表順序讀取數據的讀操做保留的緩存區的長度(默認設置是128KB); 這個選項的設置值在必要時能夠用SQL命令SET SESSION read_buffer_size = n命令加以改變。
read_rnd_buffer_size = 16M //相似於read_buffer_size選項,但針對的是按某種特定順序(好比使用了ORDER BY子句的查詢)輸出的查詢結果(默認設置是256K)。
bulk_insert_buffer_size = 64M //爲一次插入多條新記錄的INSERT命令分配的緩存區長度(默認設置是8M)。
myisam_sort_buffer_size = 128M //MyISAM 設置恢復表之時使用的緩衝區的尺寸,當在REPAIR TABLE或用CREATE INDEX建立索引或ALTER TABLE過程當中排序 MyISAM索引分配的緩衝區。
myisam_max_sort_file_size = 10G //MyISAM 若是臨時文件會變得超過索引,不要使用快速排序索引方法來建立一個索引。註釋:這個參數以字節的形式給出.重建MyISAM索引(在REPAIR TABLE、ALTER TABLE或LOAD DATA INFILE過程當中)時,容許MySQL使用的臨時文件的最大空間大小。若是文件的大小超過該值,則使用鍵值緩存建立索引,要慢得多。該值的單位爲字節。
myisam_repair_threads = 1 //若是該值大於1,在Repair by sorting過程當中並行建立MyISAM表索引(每一個索引在本身的線程內)。
myisam_recover //容許的GROUP_CONCAT()函數結果的最大長度。
skip-name-resolve //grant 時,必須使用ip不能使用主機名。
master-connect-retry = 10 //若是與主控服務器的鏈接沒有成功,則等待n秒(s)後再進行管理方式(默認設置是60s)。若是從屬服務器存在mater.info文件,它將忽略此選項。
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396 //即便發生出錯代碼爲n一、n2等的錯誤,鏡像處理工做也繼續進行(即無論發生什麼錯誤,鏡像處理工做也繼續進行)。若是配置得當,從屬服務器不該該在執行 SQL命令時發生錯誤(在主控服務器上執行出錯的SQL命令不會被髮送到從屬服務器上作鏡像處理); 若是不使用slave-skip-errors選項,從屬服務器上的鏡像工做就可能由於發生錯誤而中斷,中斷後須要有人工參與才能繼續進行。緩存
server-id = 1 //給服務器分配一個獨一無二的ID編號; n的取值範圍是1~2的32次方啓用二進制日誌功能。服務器
innodb_additional_mem_pool_size = 16M //幀緩存的控制對象須要今後處申請緩存,因此該值與innodb_buffer_pool對應。
innodb_buffer_pool_size = 1024M //包括數據頁、索引頁、插入緩存、鎖信息、自適應哈希因此、數據字典信息。
innodb_data_home_dir = /data/mysqldata/ //InnoDB主目錄,全部與InnoDB數據表有關的目錄或文件路徑都相對於這個路徑。在默認的狀況下,這個主目錄就是MySQL的數據目錄。
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend //用來容納InnoDB爲數據表的表空間: 可能涉及一個以上的文件; 每個表空間文件的最大長度都必須以字節(B)、兆字節(MB)或千兆字節(GB)爲單位給出; 表空間文件的名字必須以分號隔開; 最後一個表空間文件還能夠帶一個autoextend屬性和一個最大長度(max:n)。例如,ibdata1:1G; ibdata2:1G:autoextend:max:2G的意思是: 表空間文件ibdata1的最大長度是1GB,ibdata2的最大長度也是1G,但容許它擴充到2GB。除文件名外,還能夠用硬盤分區的設置名來定義表 空間,此時必須給表空間的最大初始長度值加上newraw關鍵字作後綴,給表空間的最大擴充長度值加上raw關鍵字作後綴(例如/dev/hdb1: 20Gnewraw或/dev/hdb1:20Graw); MySQL 4.0及更高版本的默認設置是ibdata1:10M:autoextend。#innodb_data_file_path = ibdata1:50M:autoextend
innodb_log_group_home_dir = /data/mysqldata/ //用來存放InnoDB日誌文件的目錄路徑(如ib_logfile0、ib_logfile1等)。在默認的狀況下,InnoDB驅動程序將使用 MySQL數據目錄做爲本身保存日誌文件的位置。
innodb_file_io_threads = 4 //I/O操做(硬盤寫操做)的最大線程個數(默認設置是4)。
innodb_thread_concurrency = 8 //InnoDB驅動程序可以同時使用的最大線程個數(默認設置是8)。
innodb_flush_log_at_trx_commit = 2 //這個選項決定着何時把日誌信息寫入日誌文件以及何時把這些文件物理地寫(術語稱爲」同步」)到硬盤上。設置值0的意思是每隔一秒寫一第二天志並進行 同步,這能夠減小硬盤寫操做次數,但可能形成數據丟失; 設置值1(設置設置)的意思是在每執行完一條COMMIT命令就寫一第二天志並進行同步,這能夠防止數據丟失,但硬盤寫操做可能會很頻繁; 設置值2是通常折衷的辦法,即每執行完一條COMMIT命令寫一第二天志,每隔一秒進行一次同步。
innodb_log_buffer_size = 16M //事務日誌文件寫操做緩存區的最大長度(默認設置是1MB)。
innodb_log_file_size = 128M //事物日誌大小.
innodb_log_files_in_group = 3 //使用多少個日誌文件(默認設置是2)。InnoDB數據表驅動程序將以輪轉方式依次填寫這些文件; 當全部的日誌文件都寫滿之後,以後的日誌信息將寫入第一個日誌文件的最大長度(默認設置是5MB)。這個長度必須以MB(兆字節)或GB(千兆字節)爲單 位進行設置。
innodb_max_dirty_pages_pct = 90 //innodb主線程刷新緩存池中的數據,使髒數據比例小於90%.
innodb_lock_wait_timeout = 120 //若是某個事務在等待n秒(s)後尚未得到所須要的資源,就使用ROLLBACK命令放棄這個事務。這項設置對於發現和處理未能被InnoDB數據表驅動 程序識別出來的死鎖條件有着重要的意義。這個選項的默認設置是50s。
innodb_file_per_table = 0 //0表示關閉獨立的表空間,1表示開啓獨立的表空間
[mysqldump]
quick //不要在將內存中的整個結果寫入磁盤以前緩存. 在導出很是巨大的表時須要此項 。
max_allowed_packet = 32M //服務所能處理的請求包的最大大小以及服務所能處理的最大的請求大小(當與大的BLOB字段一塊兒工做時至關必要),每一個連接獨立的大小,大小動態增長。網絡
參考:http://blog.csdn.net/wulantian/article/details/8260423併發