MySQL8配置文件通用模板

MySQL8配置文件通用模板🧲


本文整理一份MySQL8通用配置文件my.cnf,只是相对通用基础的配置,还需自己具体分析修改。

MySQL8部署参考👉:https://blog.csdn.net/Elephanti/article/details/156194749 (麒麟arm版)

https://blog.csdn.net/Elephanti/article/details/156270907 (X86版)

配置文件如下:

bash 复制代码
[root@localhost ~]# vim /etc/my.cnf

[client]
# 默认连接 MySQL 时使用的字符集
default-character-set=utf8mb4
socket=/data/mysql/run/mysql.sock

[mysqld]
##################################
# 基础运行参数(根据实际路径修改)
##################################
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql/data
socket = /data/mysql/run/mysql.sock
pid-file = /data/mysql/run/mysql.pid

# 必须在初始化前设置,生产环境设为1(不区分大小写)
lower_case_table_names = 1


# 如果不需要主机名解析,可以保留
skip-name-resolve = ON

############################
# 字符集(MySQL 8 推荐)
############################
character_set_server = utf8mb4
collation-server = utf8mb4_0900_ai_ci

############################
# 认证与安全
############################
default-authentication-plugin = caching_sha2_password
local-infile = OFF

############################
# 连接与线程
############################
max_connections = 1000
max_connect_errors = 10000

thread_cache_size = 128
wait_timeout = 1800
interactive_timeout = 1800

############################
# 内存 & 临时表
############################
tmp_table_size = 256M
max_heap_table_size = 256M
max_allowed_packet = 1G

############################
# InnoDB 核心(通用)
############################
innodb_buffer_pool_size = 32G          # 模板值,需按实际内存调整,约为实际内存70~80%
innodb_buffer_pool_instances = 8

# Redo Log 设置
innodb_log_file_size = 2G
innodb_log_files_in_group = 3
innodb_log_buffer_size = 64M

# SSD 性能配置
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit = 1

innodb_file_per_table = ON
innodb_page_size = 16K

############################
# InnoDB 并发 & IO
############################
innodb_io_capacity = 2000
innodb_io_capacity_max = 4000

innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_thread_concurrency = 0

############################
# Binlog(主从复制/备份必备)
############################
server-id = 1
log-bin = mysql-bin
#MySQL8已默认ROW格式
binlog_format = ROW
binlog_expire_logs_seconds = 2592000   # 30 天

#每次事务提交时,都会将二进制日志(binlog)内容强制同步写入磁盘
sync_binlog = 1

############################
# 日志
############################
log-error = /data/mysql/log/mysql-error.log

slow-query-log = ON
slow-query-log-file = /data/mysql/log/mysql-slow.log
long_query_time = 1

############################
# 事务
############################
transaction_isolation = READ-COMMITTED

############################
# 其他
############################
相关推荐
螺蛳粉 螺蛳粉1 天前
MySQL 分布式集群系列 · 第五篇——全方位对比:NDB、MGR、主从复制、分库分表怎么选?
数据库·分布式·mysql
泡泡鱼(敲代码中)1 天前
MySQL 学习笔记:DCL、函数与约束 —— 安全、效率、完整性的三板斧
开发语言·笔记·sql·学习·mysql·gitee
这个DBA有点耶1 天前
从OLTP到OLAP到HTAP:数据库负载分类的技术演进与选型指南
数据库·mysql·架构
何以解忧,唯有..1 天前
MySQL 是如何实现事务隔离的?
mysql
螺蛳粉 螺蛳粉1 天前
mysql备份脚本
mysql
IT大白鼠1 天前
MySQL 高可用系列 · Orchestrator + ProxySQL 第三篇——核心原理精讲
数据库·mysql·架构
国际云,接待1 天前
云服务器跨厂商迁移怎么尽量不停机:用 rsync、MySQL binlog 和 DNS TTL 做双阶段切换
运维·服务器·mysql
小白学大数据1 天前
Python 项目实战:用 Flask 构建生产级 MySQL 增删改查 REST API
开发语言·人工智能·python·mysql·flask
minebmw71 天前
第 02 讲 基础架构:一条 SQL 查询语句是如何执行的?
mysql
jaysee-sjc1 天前
【苍穹外卖】Day01:从零认识企业级项目开发
java·开发语言·数据库·mysql·spring·intellij-idea·mybatis