mariadb配置文件优化参数

mariadb数据库优化需要根据自己业务需求以及根据硬件配置来进行参数优化,下面是一些关于mariadb数据库参数优化的配置文件。

如下为128G内存32线程处理器的mariadb配置参数优化:

[client]
#password= your_password
port= 3306         
socket= /tmp/mysql.sock
!includedir /opt/local/mysql/wsrep
# The MySQL server
[mysqld]
port= 3306
socket= /tmp/mysql.sock
basedir = /opt/local/mysql
datadir=/opt/local/mysql/data                   #数据库存放目录
relay-log=/opt/local/mysql/relaylog/s74-relay-bin                         
pid-file = /opt/local/mysql/mysql.pid
log-error = /opt/local/mysql/logs/mysqld.log
open_files_limit = 65535                        #
#skip-locking
skip-external-locking                           #跳过外部锁定
back_log=3000                                   #暂存的连接数量  
skip-name-resolve                               #关闭mysql的dns反查功能
memlock                                         #将mysqld 进程锁定在内存中
lower_case_table_names = 1
#query_response_time_stats=1
#core-file
#core-file-size = unlimited
query_cache_type=1                              #查询缓存  (0 = off、1 = on、2 = demand)
performance_schema=0                            #收集数据库服务器性能参数
net_read_timeout=3600                           #连接繁忙阶段(query)起作用
net_write_timeout=3600                          #连接繁忙阶段(query)起作用
key_buffer_size = 32M                           #设置索引块缓存大小
max_allowed_packet = 128M                       #通信缓冲大小
table_open_cache = 1024                         #table高速缓存的数量
sort_buffer_size = 12M                          #每个connection(session)第一次需要使用这个buffer的时候,一次性分配设置的内存
read_buffer_size = 8M                           #顺序读取数据缓冲区使用内存
#sort_buffer_size = 32M
#read_buffer_size = 32M
read_rnd_buffer_size = 32M                      #随机读取数据缓冲区使用内存
myisam_sort_buffer_size = 32M                   #MyISAM表发生变化时重新排序所需的缓冲
thread_cache_size = 120                         #重新利用保存在缓存中线程的数量
query_cache_size = 64M
join_buffer_size = 8M                           #Join操作使用内存
bulk_insert_buffer_size = 32M                   #批量插入数据缓存大小
delay_key_write=ON                              #在表关闭之前,将对表的update操作指跟新数据到磁盘,而不更新索引到磁盘,把对索引的更改记录在内存。这样MyISAM表可以使索引更新更快。在关闭表的时候一起更新索引到磁盘
delayed_insert_limit=4000
delayed_insert_timeout=600
delayed_queue_size=4000
# Try number of CPU‘s*2 for thread_concurrency
# The variable only affects Solaris!
thread_concurrency = 64                         #CPU核数 * 2
max_connections=1500                            #最大连接(用户)数。每个连接MySQL的用户均算作一个连接
max_connect_errors=30                           #最大失败连接限制
interactive_timeout=600                         #服务器关闭交互式连接前等待活动的秒数
wait_timeout=3600                               #服务器关闭非交互连接之前等待活动的秒数
slow_query_log                                  #慢查询记录日志
long_query_time = 0.1                           #慢查询记录时间  0.1秒
slow_query_log_file=/opt/local/mysql/logs/slow_query.log            #慢查询日志路径
#log_slow_verbosity=full
log_slow_verbosity=query_plan                   #
# Replication Master Server (default)
# binary logging is required for replication
log-bin=/opt/local/mysql/binlog/mysql-bin                               #binlog 名称
log-slave-updates                               #从master取得并执行的二进制日志写入自己的二进制日志文件中
replicate-ignore-db=mysql                       #不同步的表
# binary logging format - mixed recommended
binlog_format=row                               #binlog 格式 分别为 row=行格式 丶 mixed=混合格式 丶 STATEMENT=SQL语句复制模式
event_scheduler=1                               #计划任务 事件调度器
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id= 1                                 #
# Point the following paths to different dedicated disks
#tmpdir= /tmp/
#log-update = /path-to-dedicated-directory/hostname
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /data/mysql-5.1.48/mysql-data/
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_group_home_dir = /data/mysql-5.1.48/mysql-data/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_file_format=barracuda
innodb_file_format_max=barracuda
innodb_file_per_table=1
innodb_fast_shutdown=0
innodb_buffer_pool_size = 90000M
innodb_buffer_pool_instances = 4
#innodb_additional_mem_pool_size = 20M
#innodb_use_sys_malloc = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 512M
#innodb_log_buffer_size = 8M
innodb_log_files_in_group = 3
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 3 
innodb_rollback_on_timeout = on
innodb_flush_method=O_DIRECT
transaction-isolation=READ-COMMITTED
innodb_thread_concurrency=0
innodb_io_capacity=800
innodb_purge_threads=1
innodb_open_files=65535
#innodb_stats_update_need_lock=0
#innodb_flush_neighbor_pages=0 
#innodb_aio_pending_ios_per_thread=256
#for binlog_format=row
innodb_autoinc_lock_mode=2
#innodb_fast_checksum = 1
innodb_read_io_threads = 8
innodb_write_io_threads = 12
innodb_stats_on_metadata = 0
#使用线程池处理连接
thread_handling=pool-of-threads
thread_pool_oversubscribe=30
thread_pool_size=64
thread_pool_idle_timeout=7200
thread_pool_max_threads=2000
#查询优化器开关
#optimizer_switch=‘index_condition_pushdown=on‘
#optimizer_switch=‘mrr=on‘
#optimizer_switch=‘mrr_sort_keys=on‘
#optimizer_switch=‘mrr_cost_based=off‘
#mrr_buffer_size=32M
#optimizer_switch=‘join_cache_incremental=on‘
#optimizer_switch=‘join_cache_hashed=on‘
#optimizer_switch=‘join_cache_bka=on‘
#join_cache_level=4
#join_buffer_size=32M
#join_buffer_space_limit=32M
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[isamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout

如下为256G内存64线程处理器的mariadb配置参数优化:

[client]
#password= your_password
port= 3306         
socket= /tmp/mysql.sock
!includedir /opt/local/mysql/wsrep
# The MySQL server
[mysqld]
port= 3306
socket= /tmp/mysql.sock
basedir = /opt/local/mysql
datadir=/opt/local/mysql/data                   #数据库存放目录
relay-log=/opt/local/mysql/relaylog/s74-relay-bin                         
pid-file = /opt/local/mysql/mysql.pid
log-error = /opt/local/mysql/logs/mysqld.log
open_files_limit = 65535                        #
#skip-locking
skip-external-locking                           #跳过外部锁定
back_log=3000                                   #暂存的连接数量  
skip-name-resolve                               #关闭mysql的dns反查功能
memlock                                         #将mysqld 进程锁定在内存中
lower_case_table_names = 1
#query_response_time_stats=1
#core-file
#core-file-size = unlimited
query_cache_type=1                              #查询缓存  (0 = off、1 = on、2 = demand)
performance_schema=0                            #收集数据库服务器性能参数
net_read_timeout=3600                           #连接繁忙阶段(query)起作用
net_write_timeout=3600                          #连接繁忙阶段(query)起作用
key_buffer_size = 32M                           #设置索引块缓存大小
max_allowed_packet = 128M                       #通信缓冲大小
table_open_cache = 1024                         #table高速缓存的数量
sort_buffer_size = 12M                          #每个connection(session)第一次需要使用这个buffer的时候,一次性分配设置的内存
read_buffer_size = 8M                           #顺序读取数据缓冲区使用内存
#sort_buffer_size = 32M
#read_buffer_size = 32M
read_rnd_buffer_size = 32M                      #随机读取数据缓冲区使用内存
myisam_sort_buffer_size = 32M                   #MyISAM表发生变化时重新排序所需的缓冲
thread_cache_size = 120                         #重新利用保存在缓存中线程的数量
query_cache_size = 64M
join_buffer_size = 8M                           #Join操作使用内存
bulk_insert_buffer_size = 32M                   #批量插入数据缓存大小
delay_key_write=ON                              #在表关闭之前,将对表的update操作指跟新数据到磁盘,而不更新索引到磁盘,把对索引的更改记录在内存。这样MyISAM表可以使索引更新更快。在关闭表的时候一起更新索引到磁盘
delayed_insert_limit=4000
delayed_insert_timeout=600
delayed_queue_size=4000
# Try number of CPU‘s*2 for thread_concurrency
# The variable only affects Solaris!
thread_concurrency = 96                          #CPU核数 * 2
max_connections=1500                            #最大连接(用户)数。每个连接MySQL的用户均算作一个连接
max_connect_errors=30                           #最大失败连接限制
interactive_timeout=600                         #服务器关闭交互式连接前等待活动的秒数
wait_timeout=3600                               #服务器关闭非交互连接之前等待活动的秒数
slow_query_log                                  #慢查询记录日志
long_query_time = 0.1                           #慢查询记录时间  0.1秒
slow_query_log_file=/opt/local/mysql/logs/slow_query.log            #慢查询日志路径
#log_slow_verbosity=full
log_slow_verbosity=query_plan                   #
# Replication Master Server (default)
# binary logging is required for replication
log-bin=/opt/local/mysql/binlog/mysql-bin                               #binlog 名称
log-slave-updates                               #从master取得并执行的二进制日志写入自己的二进制日志文件中
replicate-ignore-db=mysql                       #不同步的表
# binary logging format - mixed recommended
binlog_format=row                               #binlog 格式 分别为 row=行格式 丶 mixed=混合格式 丶 STATEMENT=SQL语句复制模式
event_scheduler=1                               #计划任务 事件调度器
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id= 1                                 #
# Point the following paths to different dedicated disks
#tmpdir= /tmp/
#log-update = /path-to-dedicated-directory/hostname
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /data/mysql-5.1.48/mysql-data/
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_group_home_dir = /data/mysql-5.1.48/mysql-data/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_file_format=barracuda
innodb_file_format_max=barracuda
innodb_file_per_table=1
innodb_fast_shutdown=0
innodb_buffer_pool_size = 180000M
innodb_buffer_pool_instances = 4
#innodb_additional_mem_pool_size = 20M
#innodb_use_sys_malloc = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 512M
#innodb_log_buffer_size = 8M
innodb_log_files_in_group = 3
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 3 
innodb_rollback_on_timeout = on
innodb_flush_method=O_DIRECT
transaction-isolation=READ-COMMITTED
innodb_thread_concurrency=0
innodb_io_capacity=800
innodb_purge_threads=1
innodb_open_files=65535
#innodb_stats_update_need_lock=0
#innodb_flush_neighbor_pages=0 
#innodb_aio_pending_ios_per_thread=256
#for binlog_format=row
innodb_autoinc_lock_mode=2
#innodb_fast_checksum = 1
innodb_read_io_threads = 8
innodb_write_io_threads = 12
innodb_stats_on_metadata = 0
#使用线程池处理连接
thread_handling=pool-of-threads
thread_pool_oversubscribe=30
thread_pool_size=64
thread_pool_idle_timeout=7200
thread_pool_max_threads=2000
#查询优化器开关
#optimizer_switch=‘index_condition_pushdown=on‘
#optimizer_switch=‘mrr=on‘
#optimizer_switch=‘mrr_sort_keys=on‘
#optimizer_switch=‘mrr_cost_based=off‘
#mrr_buffer_size=32M
#optimizer_switch=‘join_cache_incremental=on‘
#optimizer_switch=‘join_cache_hashed=on‘
#optimizer_switch=‘join_cache_bka=on‘
#join_cache_level=4
#join_buffer_size=32M
#join_buffer_space_limit=32M
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[isamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
时间: 2024-12-12 08:06:24

mariadb配置文件优化参数的相关文章

Mariadb配置文件优化参数(仅供参考)

[client]#password= your_passwordport= 3306         socket= /tmp/mysql.sock!includedir /opt/local/mysql/wsrep# The MySQL server[mysqld]port= 3306socket= /tmp/mysql.sockbasedir = /opt/local/mysqldatadir=/opt/local/mysql/data                   #数据库存放目录r

Zabbix配置文件的参数优化和Zabbix的数据库优化

Zabbix配置文件的参数优化 StartPollers=60 StartPollersUnreacheable=80 StartTrappers=20 StartPingers=100 StartDiscoverers=120 #zabbix提示进程繁忙时修改此参数,最大二百五,建议100左右,值大消耗cpu性能大 CacheSize=1024M StartDBSyncers=16 HistoryCacheSize=1024M TrendCacheSize=1024M HistoryTextC

Nginx配置文件优化详解

Nginx配置文件优化详解 对nginx进行优化是重点也是难点,这里给出一些常用的优化措施,以及相关参数的所代表的意思.有些参数需要结合公司服务器进行设置. 全局变量的优化: #定义Nginx运行的用户和用户组user  www  www: #启动进程,通常设置成和cpu的数量相等 worker_processes  8: #为每个进程分配cpu. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 

淘宝内部分享:MySQL & MariaDB性能优化

淘宝内部分享:MySQL & MariaDB性能优化 发表于2015-01-20 16:26| 17496次阅读| 来源mysql.taobao.org| 21 条评论| 作者淘宝数据库团队 MySQL性能优化淘宝数据库 摘要:MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,必须进行不断的优化,而优化是一个复杂的任务,本文描述淘宝数据库团队针对MySQL相关的数据库优化方案. 编者按:MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的

kafka配置文件中参数的限制

在kafka的优化过程中,不断的调节配置文件中的参数,但是有时候会遇到java.lang.NumberFormatException这样的错误 比如socket.receive.buffer.bytes.socket.send.buffer.bytes等这样的参数,如果想设置成5G,是很难的,就会报上面的错误,因为5G换算成byte就成了5368709120 这个数已经超过了Integer的最大数2147483647,已经越界了. 也就是说kafka配置文件中的参数读入Java文件中都是以Int

Samba配置文件常用参数详解

Samba配置文件常用参数详解 Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下. smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间.每段的参数的格式是:名称=指.配置文件中一行一个段名和参数,段名和参数名不分大小写. 除了[global]段外,所有的段都可以看作是一个共享资源.段名是该共享资源的名字,段里的参数是该共享资源的属性. Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确.使用testparm

Nginx核心配置文件常用参数详解

Nginx核心配置文件常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于Nginx权威文档的话童鞋们可以参考Nginx官方文档介绍:http://nginx.org/en/docs/http/ngx_http_core_module.html.本篇博客只列出来了常用的参数介绍,用这些参数说明来定制化我们自己的nginx的web服务器等等. 一.正常运行的必备配置 1>.user username [groupname]; #以那个用户身份运行,以在configu

MySQL-5.5.32 配置文件优化详解

MySQL-5.5.32 配置文件优化详解============================== [TOC] # 一.配置文件说明 > MySQL-5.5.32是Mysql5.5系列中最后一个版本,也是最后一个有配置文件的版本,为什么这么说呢,用过5.6的博友都知道,在mysql5.6中已经不提供配置文件选择,只有一个默认的配置文件,好了,我们今天说的是5.5.32这个版,就不和大家说5.6了,下面我们来具体说一下,mysql5.5.32中,提供可选的几个配置文件, * my-small.

php-fpm优化参数介绍

1.php-fpm优化参数介绍他们分别是:pm.pm.max_children.pm.start_servers.pm.min_spare_servers.pm.max_spare_servers. pm:表示使用那种方式,有两个值可以选择,就是static(静态)或者dynamic(动态).在更老一些的版本中,dynamic被称作apache-like.这个要注意看配置文件的说明. 下面4个参数的意思分别为: pm.max_children:静态方式下开启的php-fpm进程数量pm.star