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