[mysqld]
#指定 MySQL 服务器的运行用户为 mysql
user=mysql
# 设置3306端口
port=3306
# 设置mysql的安装目录 ----------此处修改为自己的配置------------
basedir=/opt/mysql8/data
# 设置mysql数据库的数据的存放目录 ---------此处修改为自己的配置--
datadir=/opt/mysql8
# 允许最大连接数
max_connections=200
# 允许连接失败的次数
max_connect_errors=10
# 设置临时表大小为 64MB
tmp_table_size=64M
# 设置最大堆表大小为 64MB
max_heap_table_size=64M
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
#设置时区
default-time_zone='+8:00'
#设置 group_concat() 函数的最大长度为 102400
group_concat_max_len=102400
#将表名转换为小写
lower_case_table_names=1
#设置默认的存储引擎为 InnoDB
#设置最大连接数限制为 200
max_connections=200
#设置最大连接错误次数为 10
max_connect_errors=10
#通常设置为系统内存的50%到80%影响很多,服务器卡,主要是这个原因
innodb_buffer_pool_size=2G
#并发访问较多的环境下可以考虑设置多个缓存池,innodb_buffer_pool_size=innodb_buffer_pool_chunk_size×innodb_buffer_pool_instances
innodb_buffer_pool_instances = 4
#日志存储类型,可选FILE和TABLE,存储在mysql.general_log
log-output=TABLE
#打开日志
general-log=1
#慢查询超时时间 慢查询明细在mysql.slow_log
long_query_time=3
#影响排序操作
sort_buffer_size=200M
#影响join操作
join_buffer_size=160M
#结果集缓冲区,限制最大数据包为4M,确保大数据传输
max_allowed_packet=16M
#连接缓冲区
net_buffer_length=1M
# 开启binlog
log-bin=mysql-bin
# binlog格式,可选:STATEMENT, ROW, MIXED
binlog_format=ROW
#为每个session 分配的内存,在事务过程中用来存储binlog日志的缓存, 提高记录bin-log的效率。没有什么大事务,dml也不是很频繁的情况下可以设置小一点,如果事务大而且多,dml操作也频繁,则可以适当的调大一点。前者建议是--1M,后者建议是:即 2--4M
binlog_cache_size=2M
#表示的是binlog 能够使用的最大cache 内存大小
max_binlog_cache_size=8M
#指定binlog日志文件的大小,如果当前的日志大小达到max_binlog_size,还会自动创建新的binlog日志。你不能将该变量设置为大于1GB或小于4096字节。默认值是1GB。在导入大容量的sql文件时,建议关闭sql_log_bin,否则硬盘扛不住,而且建议定期做删除。
max_binlog_size= 512M
#binlog的失效日期单位秒
binlog_expire_logs_seconds=2592000
#binlog的失效日志失效日期天
expire_logs_days=30
# 开启慢查询
slow_query_log = 1
# 开启慢查询时间,此处为1秒,达到此值才记录数据
long_query_time = 3
# 检索行数达到此数值,才记录慢查询日志中
min_examined_row_limit = 100
# 事务隔离级别,默认为可重复读(REPEATABLE-READ)。(此级别下可能参数很多间隙锁,影响性能,但是修改又影响主从复制及灾难恢复,建议还是修改代码逻辑吧)
# 隔离级别可选项目:READ-UNCOMMITTED READ-COMMITTED REPEATABLE-READ SERIALIZABLE
# transaction_isolation = READ-COMMITTED
transaction_isolation = REPEATABLE-READ
# 在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中
# 官方建议back_log = 50 + (max_connections / 5),封顶数为900
back_log = 900
# 这个系统变量控制着查询缓存工能的开启的关闭,0时表示关闭,1时表示打开,2表示只要select 中明确指定SQL_CACHE才缓存。
# 看业务场景决定是否使用缓存,不使用,下面就不用配置了。
query_cache_type=0
# 默认值1M,优点是查询缓冲可以极大的提高服务器速度, 如果你有大量的相同的查询并且很少修改表。
# 缺点:在你表经常变化的情况下或者如果你的查询原文每次都不同,查询缓冲也许引起性能下降而不是性能提升。
query_cache_size=64M
# 只有小于此设定值的结果才会被缓冲,保护查询缓冲,防止一个极大的结果集将其他所有的查询结果都覆盖。
query_cache_limit=2M
# 每个被缓存的结果集要占用的最小内存,默认值4kb,一般不怎么调整。
# 如果Qcache_free_blocks值过大,可能是query_cache_min_res_unit值过大,应该调小些
# query_cache_min_res_unit的估计值:(query_cache_size - Qcache_free_memory) / Qcache_queries_in_cache
query_cache_min_res_unit=4kb
# 在一个事务中binlog为了记录SQL状态所持有的cache大小
# 如果你经常使用大的,多声明的事务,你可以增加此值来获取更大的性能.
# 所有从事务来的状态都将被缓冲在binlog缓冲中然后在提交后一次性写入到binlog中
# 如果事务比此值大, 会使用磁盘上的临时文件来替代.
# 此缓冲在每个连接的事务第一次更新状态时被创建
binlog_cache_size=1M
# 说明:可以控制log从系统buffer刷入磁盘文件的刷新频率,增大可减轻系统负荷
# 默认值是1;建议值不改。系统性能一般够用。
innodb_flush_log_at_timeout = 1
# 说明:参数可设为0,1,2;
# 参数0:表示每秒将log buffer内容刷新到系统buffer中,再调用系统flush操作写入磁盘文件。
# 参数1:表示每次事物提交,将log buffer内容刷新到系统buffer中,再调用系统flush操作写入磁盘文件。
# 参数2:表示每次事物提交,将log buffer内容刷新到系统buffer中,隔1秒后再调用系统flush操作写入磁盘文件。
innodb_flush_log_at_trx_commit = 1
# 说明:限制Innodb能打开的表的数据,如果库里的表特别多的情况,请增加这个。
# 值默认是2000,建议值:参考数据库表总数再进行调整,一般够用不用调整。
innodb_open_files = 8192
# innodb处理io读写的后台并发线程数量,根据cpu核来确认,取值范围:1-64
# 默认值:4,建议值:与逻辑cpu数量的一半保持一致。
innodb_read_io_threads = 4
innodb_write_io_threads = 4
# 默认设置为 0,表示不限制并发数,这里推荐设置为0,更好去发挥CPU多核处理能力,提高并发量
innodb_thread_concurrency = 0
# 默认值为4,建议不变。InnoDB中的清除操作是一类定期回收无用数据的操作。mysql 5.5之后,支持多线程清除操作。
innodb_purge_threads = 4
# 设置每个连接使用的缓冲区大小
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
# 启用查询缓存
#query_cache_type = 1
#query_cache_size = 16M
# 日志相关配置
log_error = error.log
#slow_query_log = 1
#slow_query_log_file = /mysql/log/slow_query.log
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
character-set-server=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
MySQL配置文件
于 2024-12-26 15:35:42 首次发布