Files

64 lines
1.5 KiB
INI

# MySQL 高可用配置
# 从节点配置 (Node-02, Node-03)
# 注意: 每个从节点需要设置不同的 server-id
[mysqld]
# 基础配置
user = mysql
port = 3306
bind-address = 0.0.0.0
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
default-authentication-plugin = mysql_native_password
# 连接配置
max_connections = 500
max_connect_errors = 100
wait_timeout = 28800
interactive_timeout = 28800
# 缓冲配置
innodb_buffer_pool_size = 1G
innodb_buffer_pool_instances = 4
innodb_log_buffer_size = 64M
innodb_log_file_size = 512M
# 日志配置
log-error = /var/lib/mysql/mysql-error.log
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/mysql-slow.log
long_query_time = 2
# 主从复制配置 - 从节点
# server-id 在docker-compose中通过环境变量设置
# server-id = 2 # Node-02
# server-id = 3 # Node-03
log-bin = mysql-bin
binlog_format = ROW
binlog_row_image = FULL
relay-log = relay-bin
relay-log-index = relay-bin.index
# 注意: read_only 和 super_read_only 应在主从复制配置完成后手动启用
# 避免阻止容器初始化脚本执行
# read_only = ON
# super_read_only = ON
# GTID配置
gtid-mode = ON
enforce-gtid-consistency = ON
# 从节点并行复制
slave_parallel_type = LOGICAL_CLOCK
slave_parallel_workers = 4
slave_preserve_commit_order = ON
# 半同步复制 (可选)
# plugin-load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
# rpl_semi_sync_slave_enabled = 1
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4