mysql-mariadb实践中用到的配置(不断完善中)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

#基本配置

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参数是否有冲突?

本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1881278如需转载请自行联系原作者

weilovepan520
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
29天前
|
存储 SQL 关系型数据库
创建并配置RDS实例
在阿里云上创建RDS实例涉及登录控制台、进入RDS管理页面、创建实例、选择数据库引擎和版本、配置实例规格与存储、设定网络与安全组、设置实例信息、确认订单并支付,最后初始化数据库。操作步骤可能因界面更新或数据库引擎不同略有差异。
18 1
|
1月前
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
726 0
|
2月前
|
存储 监控 关系型数据库
rds迁移前准备资源评估与配置
rds迁移前准备资源评估与配置
37 5
|
3月前
|
SQL 关系型数据库 MySQL
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
71 0
|
3月前
|
NoSQL 关系型数据库 MySQL
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
|
10天前
|
SQL 缓存 关系型数据库
mysql性能优化-慢查询分析、优化索引和配置
mysql性能优化-慢查询分析、优化索引和配置
76 0
|
16天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
25天前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
14 1
|
28天前
|
弹性计算 关系型数据库 MySQL
rds子网配置
在阿里云中配置RDS子网涉及五个关键步骤:1) 创建或选择VPC作为私有网络环境;2) 在VPC内创建子网并确保IP地址不重叠;3) 关联路由表和安全组以控制流量及访问权限;4) 创建RDS实例时指定VPC和子网;5) 确保ECS实例与RDS在同一VPC或配置相应跨VPC访问,并调整安全组规则。这样可保障RDS与其他资源的通信及网络性能。
17 6
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
194 0