發布者認證信息(營業執照和身份證)未完善,請登錄后完善信息登錄
mysql5.7配置文件优化及配置说明-亿华网

久久天天躁狠狠躁夜夜,国精品无码一区二区三区左线,色综合网天天综合色中文,国产suv精品一区二区883,午夜精品一区二区三区的区别

首頁 » 資訊 » 編程開發 » MYSQL > mysql5.7配置文件優化及配置說明

mysql5.7配置文件優化及配置說明

  發布時間 : 2017-09-21 10:40:18 59
內容提要
mysql5.7的配置文件優化,引用了別人的模板,根據自己的情況修改了一些參數,加上注釋,留著備用,感興趣的朋友可以借鑒一下,如

mysql5.7的(de)配置文件優化(hua),引用了(le)別人的(de)模板,根據自己的(de)情(qing)況修改了(le)一些參(can)數,加上注釋,留著備用,感興(xing)趣的(de)朋友可以(yi)借鑒一下,如(ru)果無法(fa)啟動可以(yi)查看一下error_log,修改相(xiang)應的(de)參(can)數。


[mysqld]

pid-file    = /var/run/mysqld/mysqld.pid

socket      = /var/run/mysqld/mysqld.sock

datadir     = /var/lib/mysql

#log-error  = /var/log/mysql/error.log

# By default we only accept connections from localhost

#bind-address   = 127.0.0.1

# Disabling symbolic-links is recommended to prevent assorted security risks

#支持(chi)符號鏈接,就是可以(yi)通過(guo)軟連接的(de)方式,管理-目錄的(de)數(shu)據(ju)庫,最好不要開啟,當(dang)一(yi)個(ge)磁盤或(huo)分(fen)區空(kong)間不夠時,可以(yi)開啟該參數(shu)將數(shu)據(ju)存儲到(dao)-的(de)磁盤或(huo)分(fen)區。

#//blog.csdn.net/moxiaomomo/article/details/17092871

symbolic-links=0


########basic settings########

server-id = 11

port = 3306

user = mysql

#設(she)置autocommit=0,則用戶將(jiang)一(yi)直處(chu)于(yu)某(mou)個事務(wu)中(zhong),直到執行一(yi)條commit提交或rollback語句(ju)才會結束當前事務(wu)重新(xin)開始一(yi)個新(xin)的(de)事務(wu)。set autocommit=0的(de)好處(chu)是在頻繁開啟事務(wu)的(de)場景下,減(jian)少一(yi)次begin的(de)交互。

autocommit = 1

#utf8mb4編碼是(shi)utf8編碼的(de)超集,兼容utf8,并且(qie)能存(cun)儲4字節的(de)表(biao)情字符。

#采用utf8mb4編(bian)碼的(de)好處是:存儲與獲(huo)取數(shu)據的(de)時候,不用再(zai)考慮(lv)表情字(zi)符的(de)編(bian)碼與解碼問題。

character_set_server=utf8mb4

skip_name_resolve = 1

max_connections = 800

# 對于同一主機,如果有超出該(gai)參數值個數的(de)中斷(duan)錯誤(wu)連接(jie),則該(gai)主(zhu)機將被禁止連接(jie)。如需對該(gai)主(zhu)機進(jin)行解禁,執(zhi)行:FLUSH HOST。

max_connect_errors = 1000

#數據庫(ku)隔離級(ji)別

transaction_isolation = READ-COMMITTED

#MySQL在(zai)完成某(mou)些join(連接)需求(qiu)的(de)時候,為(wei)了減少參(can)與join的(de)“被(bei)驅動表(biao)”的(de)讀(du)取次數以提高(gao)性能(neng),需要使用到join buffer來協(xie)助(zhu)完成join操(cao)作當join buffer 太小,MySQL不會將(jiang)(jiang)該buffer存入(ru)磁盤文件而是(shi)先將(jiang)(jiang)join buffer中(zhong)的(de)結果與需求(qiu)join的(de)表(biao)進行操(cao)作,然后清空join buffer中(zhong)的(de)數據,繼續將(jiang)(jiang)剩(sheng)余的(de)結果集寫入(ru)次buffer中(zhong)

join_buffer_size = 128M

tmp_table_size = 64M

tmpdir = /tmp

#該(gai)值設置過(guo)小(xiao)將導致單個(ge)記錄(lu)超過(guo)-后(hou)寫入數據庫失敗(bai),且后(hou)續記錄(lu)寫入也將失敗(bai)

max_allowed_packet = 64M

#mysql在關閉一個交(jiao)互的連接之前所(suo)要等(deng)待的秒數(shu)

interactive_timeout = 1200

#mysql在關閉一個(ge)非交互的連接(jie)之前(qian)所要等待(dai)的秒數(shu)

wait_timeout = 600

#MySQL讀入緩沖區的大小

read_buffer_size = 16M

#MySQL的隨機讀緩沖區大(da)小

read_rnd_buffer_size = 8M

#MySQL的順序讀緩沖區大小(xiao)

sort_buffer_size = 8M

########log settings########

log_error = /var/log/docker_log/mysql/error.log

#開啟慢查詢日(ri)志(zhi)

slow_query_log = 1

#超出次設定(ding)值的SQL即(ji)被記錄到慢查詢日志

long_query_time = 6

slow_query_log_file = /var/log/docker_log/mysql/slow.log

#表示記錄下沒(mei)有(you)使(shi)用索(suo)引的查詢

log_queries_not_using_indexes = 1

#記錄管(guan)理語句

log_slow_admin_statements = 1

#開啟復(fu)制(zhi)從庫復(fu)制(zhi)的慢查詢(xun)的日志

log_slow_slave_statements = 1

#設(she)置每分鐘增長的(de)(de)沒(mei)有使用索引查詢的(de)(de)日志(zhi)數量

log_throttle_queries_not_using_indexes = 10

expire_logs_days = 90

min_examined_row_limit = 100

########replication settings########

#將master.info和relay.info保存在表中

master_info_repository = TABLE

relay_log_info_repository = TABLE

log_bin = bin.log

#當每進(jin)行(xing)n次事務提交之后,MySQL將進(jin)行(xing)一次fsync之類的磁(ci)盤(pan)同(tong)步指令來將binlog_cache中的數據(ju)強制寫入磁(ci)盤(pan)。設置為零是(shi)讓系統自(zi)行(xing)決(jue)定

sync_binlog = 5

#開啟全局事務ID,GTID能夠保證讓一個從服務器到-的從(cong)服務器那里(li)實現數據復制而且能夠實現數據整合的

gtid_mode = on

#開(kai)啟(qi)gtid,必須(xu)主從全開(kai)

enforce_gtid_consistency = 1

#從服務器的更(geng)新是否(fou)寫入(ru)二(er)進制日志

log_slave_updates = 1

#三(san)種模(mo)式 STATEMENT(有可能主從數據不(bu)一致(zhi),日(ri)質量小)、ROW(產生大量二進制日(ri)志)、MIXED

binlog_format = mixed

#relay-log日志(zhi)記錄的是(shi)從(cong)服(fu)務(wu)(wu)器(qi)I/O線程(cheng)將主服(fu)務(wu)(wu)器(qi)的二進制日志(zhi)讀(du)取過來記錄到從(cong)服(fu)務(wu)(wu)器(qi)本(ben)地文件,然后(hou)SQL線程(cheng)會讀(du)取relay-log日志(zhi)的內容并應用到從(cong)服(fu)務(wu)(wu)器(qi)

relay_log = /var/log/docker_log/mysql/relay.log

relay_log_recovery = 1

#開(kai)啟簡單gtid,開(kai)啟此(ci)項(xiang)會提升(sheng)mysql執(zhi)行恢(hui)復的性能

binlog_gtid_-_recovery = 1

slave_skip_errors = ddl_exist_errors

########innodb settings########

#這個參(can)數在一(yi)開始初始化(hua)時就要加入my.cnf里,如果已經創(chuang)建(jian)了表,再修改(gai),啟動MySQL會(hui)報錯。最好(hao)為8K

#innodb_page_size = 16K

innodb_page_size = 8K

#數據緩沖區buffer pool大小,建議使(shi)用(yong)物理(li)內存(cun)的(de) 75%

innodb_buffer_pool_size = 2G

#當buffer_pool的(de)值較大的(de)時候為(wei)1,較小(xiao)的(de)設(she)置(zhi)為(wei)8

innodb_buffer_pool_instances = 8

#運行時load緩(huan)沖(chong)池,快速(su)預熱(re)緩(huan)沖(chong)池,將buffer pool的(de)內容(文件(jian)頁的(de)索引)dump到(dao)文件(jian)中,然后快速(su)load到(dao)buffer pool中。避免了數據庫(ku)的(de)預熱(re)過程,提高了應用訪問的(de)性能

innodb_buffer_pool_load_at_startup = 1

#運行時dump緩沖池

innodb_buffer_pool_dump_at_shutdown = 1

#在innodb中處(chu)理用戶查詢后,其結果在內存空間的緩沖池已經(jing)發生變化(hua),但是還未記錄到(dao)磁盤。這種(zhong)頁(ye)(ye)面稱(cheng)為臟(zang)頁(ye)(ye),將臟(zang)頁(ye)(ye)記錄到(dao)磁盤的過(guo)程稱(cheng)為刷臟(zang)

innodb_lru_scan_depth = 2000

innodb_io_capacity = 4000

innodb_io_capacity_max = 8000

#事務等待獲取資源等待的最長時間(jian),超過這個時間(jian)還未分(fen)配到(dao)資源則會返回應用失敗(bai),默(mo)認(ren)50s

innodb_lock_wait_timeout = 30

#日志(zhi)組所在(zai)的(de)路徑,默認(ren)為data的(de)home目錄;

innodb_log_group_home_dir = /data/mysql/

#innodb_undo_directory = /data/mysql/undolog/

#這個參數控制著innodb數據文件及REDo log的打(da)開(kai)、刷寫模式(shi),//blog.csdn.net/gua___gua/article/details/44916207

#innodb_flush_method = O_DIRECT-不經過系統緩存直接存入磁盤,

innodb_file_format = Barracuda

innodb_file_format_max = Barracuda

innodb_strict_mode = 1

#innodb獨享(xiang)表(biao)空間,有點(dian)很多,缺點(dian)會導致單個表(biao)文件過大

#innodb_file_per_table = 1

#undo日(ri)志回滾段 默認為128

innodb_undo_logs = 128

#傳統機械硬盤建議使用(yong),而對(dui)于固態硬盤可以關閉

#innodb_flush_nei-ors = 1

innodb_log_file_size = 1G

innodb_log_buffer_size = 64M

#控制是否使用獨立purge線程

innodb_purge_threads = 1

#改為ON時,允許單列(lie)索引最(zui)大達到3072。否則最(zui)大為767

innodb_large_prefix = 1

innodb_thread_concurrency = 8

#開啟后會將所(suo)有的死鎖記錄到(dao)error_log中(zhong)

innodb_print_all_deadlocks = 1

innodb_sort_buffer_size = 16M

########semi sync replication settings########

#半同步復制(zhi)

plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"

loose_rpl_semi_sync_master_enabled = 1

loose_rpl_semi_sync_slave_enabled = 1

loose_rpl_semi_sync_master_timeout = 5000

#表示轉(zhuan)儲每個bp instance LRU上最熱的page的百(bai)分比。通過設(she)置(zhi)該參數可(ke)以減少轉(zhuan)儲的page數。

innodb_buffer_pool_dump_pct = 40

#刷臟(zang)的進程N-1

innodb_page_cleaners = 4

innodb_undo_log_truncate = 1

innodb_max_undo_log_size = 2G

#控制回收(收縮(suo)(suo))undo log的(de)頻率.undo log空間(jian)在(zai)它的(de)回滾段沒有得到釋放(fang)之前不會收縮(suo)(suo),

innodb_purge_rseg_truncate_frequency = 128

log_timestamps=system

#該參(can)數基于(yu)MySQL5.7 Group Replication組復制的,沒有使用(yong)不要設置

#transaction_write_set_extraction=MURMUR32

show_compatibility_56=on



	
layui

微(wei)信掃碼關注 億華聯眾(zhong) 公眾(zhong)號

頭條推薦