[client]
port = 3306 #端口號
socket = /ryzc/mysql/data/mysql.sock #sock文件路徑
[mysqld]
port = 3306
socket = /ryzc/mysql/data/mysql.sock # 服務端sock文件路徑
pid-file = /ryzc/mysql/data/localhost.pid # pid文件存放路徑
datadir = /ryzc/mysql/data # 數據存放目錄
log-error = /ryzc/mysql/data/err.log # 日誌錯誤目錄
slow-query-log-file =/ryzc/mysql/data/mysql-slow.log # 慢查詢日誌文件和目錄
slow-query-log = 0 #開啓慢查詢日誌,0爲關閉,1爲開啓,此是5.6配置文件,5.5跟5.6打開方法不一樣
long_query_time = 2 #慢查詢時間 超過2秒則爲慢查詢,默認爲10秒
innodb_data_home_dir = /ryzc/mysql/data/ #這是InnoDB表的目錄共用設置
innodb_log_group_home_dir = /ryzc/mysql/data/ #InnoDB 日誌文件的路徑
master-info-file=master.info #master信息文件
relay-log=relay-bin-2 # 中繼日誌路徑和文件名,都可以自定義
relay-log-index=relay-bin.index # 中繼日誌index文件
relay-log-info-file=relay-log.info # 中繼日誌信息文件可以定定義名字和路徑,這裏只定義名字
replicate-ignore-db=mysql #用來設置不需要同步的庫
replicate-wild-ignore-table=mysql.% #用來設置不需要同步的庫
innodb_data_file_path=ibdata1:1G:autoextend
log-slave-updates #這個參數用來配置從服務器的更新是否寫入二進制日誌,這個選項默認是不打開的,但是,如果這個從服務器B是服務器A的從服務器,同時還作爲服務器C的主服務器,那麼就需要開發這個選項,這樣它的從服務器C才能獲得它的二進制日誌進行同步操作
binlog_cache_size = 4M # 一個事務,在沒有提交的時候,產生的日誌,記錄到Cache中;等到事務提交需要提交的時候,則把日誌持久化到磁盤。默認binlog_cache_size大小32K
server-id = 2 #sever-id號主跟從不能一樣
binlog-format = ROW
expire_logs_days = 10 #超過10天的binlog日誌文件刪除
#max_binlog_cache_size = 8M # 最大binlog緩存大小
#max_binlog_size = 512M # 最大binlog大小
log-bin = mysql-bin # 開啓binlog日誌
open_files_limit = 65535 # MySQL打開的文件描述符限制,默認最小1024;當open_files_limit沒有被配置的時候,比較max_connections*5和ulimit -n的值,哪個大用哪個,當open_file_limit被配置的時候,比較open_files_limit和max_connections*5的值,哪個大用哪個。
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
skip-external-locking ##MySQL選項以避免外部鎖定。該選項默認開啓
#lower_case_table_names #實現表名不區分大小寫,慎用
skip-name-resolve ## 禁止MySQL對外部連接進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。但需要注意,如果開啓該選項,則所有遠程主機連接授權都要使用IP地址方式,否則MySQL將無法正常處理連接請求
sync_binlog=1 #在MySQL中系統默認的設置是sync_binlog=0,也就是不做任何強制性的磁盤刷新指令,這時候的性能是最好的,但是風險也是最大的。因爲一旦系統Crash,在binlog_cache中的所有binlog信息都會被丟失。而當設置爲“1”的時候,是最安全但是性能損耗最大的設置。因爲當設置爲1的時候,即使系統Crash,也最多丟失binlog_cache中未完成的一個事務,對實際數據沒有任何實質性影響。
event_scheduler = ON #開啓事件調度器,事件調度器event_scheduler的語法主要包括創建,修改,刪除
max_allowed_packet = 128M #MySQL根據配置文件會限制Server接受的數據包大小。有時候大的插入和更新會受 max_allowed_packet 參數限制,導致寫入或者更新失敗。
table_open_cache = 2048 #表描述符緩存大小,可減少文件打開/關閉次數;默認爲64,偏小
wait_timeout = 100 #指的是mysql在關閉一個非交互的連接之前所要等待的秒數,其取值範圍爲1-2147483(Windows),1-31536000(linux),默認值28800。
interactive_timeout = 100 #指的是mysql在關閉一個交互的連接之前所要等待的秒數(交互連接如mysql gui tool中的連接),其取值範圍隨wait_timeout變動,默認值28800。
net_buffer_length = 1M #此參數指定了一個緩存區的大小,用來存放用戶發送的SQL語句。
read_buffer_size = 8M # MySQL讀入緩衝區大小。
read_rnd_buffer_size = 8M #主要用於表順序掃描的緩存大小
max_connections = 2000 # MySQL的最大連接數,如果服務器的併發連接請求量比較大,建議調高此值,以增加並行連接數量,當然這建立在機器能支撐的情況下,因爲如果連接數越多,介於MySQL會爲每個連接提供連接緩衝區,就會開銷越多的內存,所以要適當調整該值,不能盲目提高設值。可以過'conn%'通配符查看當前狀態的連接數量,以定奪該值的大小。
max_connect_errors = 1000000 # 對於同一主機,如果有超出該參數值個數的中斷錯誤連接,則該主機將被禁止連接。如需對該主機進行解禁,執行:FLUSH HOST。
max_heap_table_size = 128M # 定義了用戶可以創建的內存表(memory table)的大小。這個值用來計算內存表的最大行數值。這個變量支持動態改變
bulk_insert_buffer_size = 64M # 批量插入緩存大小, 這個參數是針對MyISAM存儲引擎來說的。適用於在一次性插入100-1000+條記錄時, 提高效率。默認值是8M。可以針對數據量的大小,翻倍增加。
thread_cache_size = 1024 #線程緩存大小點
symbolic-links = 0
query_cache_type = 0 #查詢結果放到查詢緩存中,0爲關閉,1爲開啓
myisam_sort_buffer_size = 8M # MyISAM設置恢復表之時使用的緩衝區的尺寸,當在REPAIR TABLE或用CREATE INDEX創建索引或ALTER TABLE過程中排序 MyISAM索引分配的緩衝區
myisam_sort_buffer_size = 8M # MyISAM設置恢復表之時使用的緩衝區的尺寸,當在REPAIR TABLE或用CREATE INDEX創建索引或ALTER TABLE過程中排序 MyISAM索引分配的緩衝區
myisam_max_sort_file_size = 10G # 如果臨時文件會變得超過索引,不要使用快速排序索引方法來創建一個索引。註釋:這個參數以字節的形式給出
myisam_repair_threads = 1 # 如果該值大於1,在Repair by sorting過程中並行創建MyISAM表索引(每個索引在自己的線程內)
Myisam_revocer # 控制了Myisam查找和修復錯誤的方式。
innodb_log_files_in_group = 3 #日誌組中的日誌文件數目。InnoDB 以環型方式(circular fashion)寫入文件。數值 3 被推薦使用。在 my.cnf 中以數字格式設置。
thread_concurrency = 12 #默認設置爲 0,表示不限制併發數,現在設置成12個併發
innodb_file_io_threads = 6 #InnoDB 中的文件 I/O 線程。 通常設置爲 4,但是在 Windows 下可以設定一個更大的值以提高磁盤 I/O。在 my.cnf 中以數字格式設置。
innodb_write_io_threads = 6 #寫線程大小
innodb_read_io_threads = 6 #讀線程大小
innodb_thread_concurrency = 8 # InnoDB 會試圖將 InnoDB 服務的使用的操作系統進程小於或等於這裏所設定的數值。此參數默認值爲 8。如果計算機系統性能較低或 innodb_monitor 顯示有很多線程等侍信號,應該將這個值設小一點。
innodb_buffer_pool_size = 15G #這個參數主要作用是緩存innodb表的索引,數據,插入數據時的緩衝,專用mysql服務器設置的大小: 操作系統內存的70%-80%最佳。
innodb_log_file_size = 256M I#日誌組中的每個日誌文件的大小(單位 MB)。
innodb_log_buffer_size = 16M #InnoDB 將日誌寫入日誌磁盤文件前的緩衝大小。理想值爲 1M 至 8M。
innodb_flush_log_at_trx_commit = 0 #通常設置爲 1,意味着在事務提交前日誌已被寫入磁盤, 事務可以運行更長以及服務崩潰後的修復能力。如果你願意減弱這個安全,或你運行的是比較小的事務處理,可以將它設置爲 0 ,以減少寫日誌文件的磁盤 I/O。這個選項默認設置爲 0。
innodb_support_xa = 0 #你設置innodb_support_xa爲0將減少磁盤刷新,有利於磁盤數據和二進制日誌的序列化。
innodb_flush_method = O_DIRECT #這個參數僅僅與 Unix 相關。這個參數默認值爲 fdatasync。 另一個設置項爲 O_DSYNC。這僅僅影響日誌文件的轉儲,在 Unix 下以 fsync 轉儲數據。
innodb_additional_mem_pool_size = 16M #InnoDB 用來存儲數據字典(data dictionary)信息和其它內部數據結構(internal data structures)的存儲器組合(memory pool)大小。理想的值爲 2M
innodb_sort_buffer_size = 16M #排序緩衝大小
innodb_open_files = 3000 #限制Innodb能打開的表的數據,如果庫裏的表特別多的情況,請增加這個。這個值默認是300
key_buffer_size = 2G #指定用於索引的緩衝區大小,增加它可得到更好處理的索引(對所有讀和多重寫),注意:該參數值設置的過大反而會是服務器整體效率降低
sort_buffer_size = 8M # MySQL執行排序使用的緩衝大小。如果想要增加ORDER BY的速度,首先看是否可以讓MySQL使用索引而不是額外的排序階段。如果不能,可以嘗試增加sort_buffer_size變量的大小
join_buffer_size = 2M # 聯合查詢操作所能使用的緩衝區大小,和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享
slave_skip_errors = all #跳過所有錯誤,避免了由於sql出錯導致的從複製失效。
query_cache_size = 64M #MySQL查詢緩存大小
query_cache_limit = 4M #指定單個查詢能夠使用的緩衝區大小,默認1M
tmp_table_size = 256M MySQL的heap(堆積)表緩衝大小。
#default-storage-engine = InnoDB #默認存儲引擎
#default-table-type = InnoDB #默認表類型
#innodb_local_wait_timeout = 120 #等待鎖超時時間
#innodb_file_per_table = 0 #獨立表空間,0表示關閉,1表示開啓
#innodb_max_dirty_pages_pct = 90 #是用來控制在 InnoDB Buffer Pool 中可以不用寫入數據文件中的Dirty Page 的比例(已經被修但還沒有從內存中寫入到數據文件的髒數據)。這個比例值越大,從內存到磁盤的寫入操作就會相對減少,所以能夠一定程度下減少寫入操作的磁盤IO。
#根據以往的經驗,重啓恢復的數據如果要超過1GB的話,啓動速度會比較慢,幾乎難以接受,所以建議不大於 1GB/innodb_buffer_pool_size(GB)*100 這個值。當然,如果你能夠忍受啓動時間比較長,而且希望儘量減少內存至磁盤的flush,可以將這個值調整到90,但不建議超過90
[mysqldump]
quick #通過quick參數可以加快mysql命令行下導出數據
max_allowed_packet = 128M #服務器發送和接受的最大包長度
[mysql]
no-auto-rehash #sql語句沒有自動補全
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout #服務器關閉交互式連接前等待活動的秒數,默認8小時