一皆尔、獲取MySQL配置信息路徑
1、命令行參數(shù):mysqld_safe --datadir=/data/sql_data
2贴唇、配置文件(在不同的系統(tǒng)中默認(rèn)配置文件的都區(qū)位置不同):
mysqld --help --verbose | grep -A 1 'Default options'
/etc/my.cnf? /etc/mysql/my.cnf? /home/mysql/my.cnf~/.my.cnf (Contos默認(rèn)讀取路徑)
二遂鹊、MySQL配置參數(shù)的作用域(MySQL程序中)
1、全局參數(shù)
set global 參數(shù)名=參數(shù)值;
set @@global.參數(shù)名:=參數(shù)值魂挂;
2甫题、會(huì)話參數(shù)
set [session] 參數(shù)名=參數(shù)值;
set @@session.參數(shù)名:=參數(shù)值涂召;
三坠非、內(nèi)存配置相關(guān)參數(shù)
1、確定可以使用的內(nèi)存上限
2果正、確定MySQL的每個(gè)連接使用的內(nèi)存
sort_buffer_size
join_buffer_size
read_buffer_size
read_rnd_buffer_size
3炎码、確定需要為操作系統(tǒng)保留多少內(nèi)存
4、如何為緩存池分配內(nèi)存
Innodb_buffer_pool_size? ? ? //Innodb引擎
總內(nèi)存-(每個(gè)線程所需要的內(nèi)存*連接數(shù))-系統(tǒng)保留內(nèi)存
key_buffer_size? ? ? //MyISAM引擎
四秋泳、I/O相關(guān)配置參數(shù)
1潦闲、Innodb I/O相關(guān)配置
Innodb_log_file_size? ? //配置單個(gè)事務(wù)日志大小
Innodb_log_files_in_group? ? //配置事務(wù)日志的個(gè)數(shù)
事務(wù)日志總大小=Innodb_log_file_size * Innodb_log_files_in_group
Innodb_log_buffer_size? ? ? ? //日志緩沖區(qū)大小(不需要設(shè)置太大32M~128M)
Innodb_flush_log_at_trx_commit? ? //事務(wù)日志的刷新頻率
0:每秒進(jìn)行一次log寫入cache,并flush log 到磁盤
1(默認(rèn)):在每次事務(wù)提交執(zhí)行l(wèi)og寫入cache,并flush log 到磁盤
2(建議):每次事務(wù)提交迫皱,執(zhí)行l(wèi)og數(shù)據(jù)寫入到cache,每秒執(zhí)行一次flush log到磁盤
Innodb_flush_method=O_DIRECT? ? //數(shù)據(jù)文件歉闰、日志文件與文件系統(tǒng)的交互方式
Innodb_file_per_table = 1? //如何使用表空間(強(qiáng)烈建議1,獨(dú)立空間)
Innodb_doublewrite = 1? //是否使用雙寫緩存
2卓起、MyISAM I/O相關(guān)配置
delay_key_write? ? ? //關(guān)鍵字緩沖中的臟塊什么時(shí)候緩存到磁盤
OFF:每次寫操作后刷新鍵緩沖中的臟塊到磁盤
ON:只對(duì)在建表時(shí)指定了delay_key_write選項(xiàng)的表使用延遲刷新
ALL:對(duì)所有MyISAM表都是用延遲鍵寫入
五和敬、安全相關(guān)配置參數(shù)
expire_logs_days? ? ? ? ? //指定自動(dòng)清理binlog的天數(shù)
max_allowed_packet? ? //控制MySQL可以接收的包的大小(32M)
skip_name_resolve? ? ? //禁用DNS查找
sysdate_is_now? ? ? ? ? ? //確保sysdate()返回確定性日期
read_only? ? //禁止非super權(quán)限的用戶寫入權(quán)限(建議從庫中使用)
skip_slave_start? ? //禁用Slave自動(dòng)恢復(fù)(建議從庫中使用)
sql_mode? ? ? ? ? ? //設(shè)置MySQL所使用的SQL模式
strict_trans_tables
no_engine_subtitution
no_zero_date
no_zero_in_date
only_full_group_by
六戏阅、其他配置參數(shù)
sync_binlog? ? //控制MySQL如何向磁盤刷新binlog(主DB 建議為1)
tmp_table_size 和max_heap_table_size? //控制內(nèi)存臨時(shí)表大小
max_connections? ? //允許的最大鏈接數(shù)