mariadb 配置mysql_mysql-mariadb实践中用到的配置(不断完善中)
#基本配置
port=3306
pid-file=/mnt/mysql/data/mysql.pid
socket=/tmp/mysql.sock
datadir=/data/mysql/data
skip-name-resolve????????????????#跳過(guò)dns解析
character_set_server=utf8
default_storage_engine=InnoDB????#默認(rèn)庫(kù)的存儲(chǔ)引擎
default_table_type=InnoDB????????#默認(rèn)表的存儲(chǔ)引擎
wait_timeout=60????????????????? #sleep狀態(tài)超時(shí)時(shí)間
max_connections=2000???????????? #最大連接數(shù)
max_connect_errors=1000??????????#最大錯(cuò)誤連接數(shù)
#日志相關(guān)的配置
log_error=/mnt/mysql/data/err.log
slow_query_log=ON
slow_query_log_file=/mnt/mysql/data/slow.log
long_query_time=1????????? #記錄超過(guò)1s的慢查詢(xún)
bin_log=mysql-bin????????? #開(kāi)啟二進(jìn)制日志格式
binlog_format=statement????#二進(jìn)制日志記錄格式
expire_logs_days=7 ? ? ? ??#設(shè)置二進(jìn)制日志保留的時(shí)間
#主從場(chǎng)景從庫(kù)相關(guān)配置
log_slave_updates?????#在從庫(kù)開(kāi)啟二進(jìn)制日志
relay-log=relay-bin
skip_slave_start? ? ? #重啟mysql后,不自動(dòng)啟動(dòng)復(fù)制
relay-log-purge???? ??#重放完中繼日志后將此中繼日志刪除
read_only?????????????#設(shè)置從庫(kù)為只讀,除了root和sql復(fù)制線程
innodb_locks_unsafe_for_binlog=1 #禁止二進(jìn)制日志的記錄
#優(yōu)化相關(guān)的配置
max_allow_packet=1G
innodb_file_per_table=1????????? ?#為每張表使用一個(gè)表文件,存儲(chǔ)格式為“表名.ibd”
innodb_data_file_path=ibdata1:10M;ibdata2:100M:autoextend????#單獨(dú)指定數(shù)據(jù)文件的路徑與大小,并且自增長(zhǎng)
innodb_data_home_dir=/data/mysql#數(shù)據(jù)文件的存放位置,此目錄必須存在
sync_binlog=0 ? ? ? ? ? ? ? ? ? ? #由操作系統(tǒng)決定什么時(shí)候刷新緩存到持久化設(shè)備
innodb_flush_method=O_DIRECT ? ? ?#使用fsync()來(lái)刷新文件到操作系統(tǒng),但會(huì)通知操作系統(tǒng)不緩存數(shù)據(jù)
innodb_buffer_pool_size=20G ? ? ? #設(shè)置innodb緩沖池大小,建議為物理內(nèi)存的80%左右
innodb_log_buffer_size=8M???? ? ? #設(shè)置日志緩沖大小
innodb_log_file_size=100M???????? #設(shè)置事務(wù)日志文件(日志文件是操作系統(tǒng)內(nèi)存)大小,此參數(shù)可有效提高性能
innodb_log_files_in_group=3????? ?#設(shè)置事務(wù)日志個(gè)數(shù),日志文件總大小是每個(gè)文件的大小之和
innodb_flush_log_at_trx_commit=2? #每秒刷新一次日志文件到持久化存儲(chǔ),當(dāng)系統(tǒng)斷電會(huì)丟失一秒的數(shù)據(jù),但性能是最高的
innodb_thread_concurrency=8 ? ? ? #并發(fā)限制,限制一次性可以有多少線程進(jìn)入內(nèi)核,0表示不限制,thread_concurrency應(yīng)設(shè)為CPU核數(shù)的2倍
innodb_thread_sleep_delay=10000? ?#當(dāng)線程超過(guò)并發(fā)限制時(shí),需要等待的時(shí)間,單位為微秒
innodb_fast_shutdown=0????????????#在關(guān)閉數(shù)據(jù)庫(kù)時(shí)的一種操作,是最慢的一種關(guān)閉方式,但在恢復(fù)時(shí)是最快的
innodb_max_dirty_pages_pct=10???? #設(shè)置innodb緩沖池中可以保持的最大'臟頁(yè)'數(shù),其值是一個(gè)百分比
query_cache_type=on????????????? ?#開(kāi)啟查詢(xún)緩存,除非證明有效,否則不建議開(kāi)啟此參數(shù)
query_cache_size=10M ? ? ? ? ? ? ?#查詢(xún)緩存,一次性分配并初始化這塊內(nèi)存
sort_buffer_size=2M ? ? ? ? ? ? ? #排序緩存,只有在查詢(xún)需要做排序操作時(shí)才會(huì)為該緩存分配內(nèi)存,一旦需要?jiǎng)t分配全部?jī)?nèi)存
table_cache_size=10????????????? ?#可以緩存的表個(gè)數(shù)
thread_cache_size=10????????????? #線程池緩沖的線程個(gè)數(shù),可以通過(guò)Threads_connected來(lái)個(gè)數(shù)進(jìn)行設(shè)置
open_files_limit=65535? ? ????????#設(shè)置可以打開(kāi)文件句柄個(gè)數(shù),盡可能的要大
#不理解的相關(guān)參數(shù)
innodb_file_per_table=1和innodb_data_file_path之間的關(guān)系是什么?
innodb_locks_unsafe_for_binlog=1:禁止二進(jìn)制日志有什么用?跟bin_log參數(shù)是否有沖突?
總結(jié)
以上是生活随笔為你收集整理的mariadb 配置mysql_mysql-mariadb实践中用到的配置(不断完善中)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎么查个人征信记录 去银行办贷款的地方去
- 下一篇: 树莓派 mysql集群_多树莓派集群服务