# [client] 部分是针对客户端的配置
[client]
port = 3306 # 客户端连接MySQL服务器时使用的端口号
socket = /tmp/mysql.sock # 客户端连接MySQL服务器时使用的socket文件路径
# [mysqld] 部分是针对MySQL服务器本身的配置
[mysqld]
basedir = /home/data/mysql-5.7.43 # MySQL的安装基础目录
port = 3306 # MySQL服务器监听的端口号
max_connections = 3000 # 最大允许的连接数
max_connect_errors = 20000 # 允许的最大连接错误数,超过后该主机将被阻止连接
socket = /tmp/mysql.sock # MySQL服务器使用的socket文件路径
datadir = /home/data/mysql-5.7.43/data # 数据库文件的存放目录
pid-file = /home/data/mysql-5.7.43/data/mysql.pid # MySQL服务器进程ID文件路径
log-error = /home/data/mysql-5.7.43/logs/mysql.err # 错误日志文件的路径
# 以下配置与复制和GTID相关
server-id = 82 # 服务器ID,用于复制
# auto_increment_offset 和 auto_increment_increment 被注释掉了,用于设置自增字段的起始值和增长步长
log-bin = mysql-bin # 开启二进制日志功能
binlog-format=ROW # 二进制日志的格式为ROW
# gtid-mode 和 enforce-gtid-consistency 启用GTID模式并强制GTID一致性
# 其他与复制相关的配置如log-slave-updates, master-info-repository等
# 性能优化和日志管理
expire_logs_days=30 # 二进制日志的过期天数
max_binlog_size=1024M # 单个二进制日志文件的最大大小
replicate-ignore-db = ... # 忽略复制的一些数据库
skip-character-set-client-handshake # 跳过客户端的字符集握手
init-connect='SET NAMES utf8' # 连接时执行的SQL,设置字符集为utf8
character-set-server=utf8 # 服务端默认字符集
# 其他性能相关的配置
max_allowed_packet = 1024M # 允许的最大数据包大小
open_files_limit = 65535 # 打开文件的限制
bulk_insert_buffer_size = 8M # 批量插入的缓冲区大小
query_cache_type = 1 # 查询缓存的类型
query_cache_size = 128M # 查询缓存的大小
query_cache_limit = 4M # 单个查询结果可以缓存的最大值
key_buffer_size = 256M # 索引缓冲区的大小
read_buffer_size = 16K # 顺序读取时的缓冲区大小
slow_query_log=1 # 开启慢查询日志
long_query_time = 6 # 慢查询的定义时间阈值
slow_query_log_file=slow-query.log # 慢查询日志文件的路径
# InnoDB相关的配置
innodb_buffer_pool_size=8G # InnoDB缓冲池的大小
innodb_buffer_pool_instances=1 # InnoDB缓冲池的实例数量
innodb_log_file_size=256M # InnoDB重做日志文件的大小
innodb_flush_log_at_trx_commit = 2 # 控制InnoDB日志刷新行为
innodb_log_buffer_size = 16M # InnoDB日志缓冲区的大小
# 其他配置
default_password_lifetime=0 # 密码过期时间,0表示不过期
plugin-load-add=validate_password.so # 加载validate_password插件
validate-password=FORCE_PLUS_PERMANENT # 强制密码策略
# [mysql] 部分是针对mysql客户端的配置
[mysql]
no-auto-rehash # 关闭自动补全功能
[myisamchk] #针对MyISAM表检查工具的配置
key_buffer_size = 20M # 检查MyISAM表时使用的索引缓冲区大小
sort_buffer_size = 20M # 排序缓冲区大小
read_buffer = 2M # 读缓冲区大小
write_buffer = 2M # 写缓冲区大小
一般生产环境的mysql配置,my.cnf
于 2024-08-07 17:47:53 首次发布