[mysqld]
# MySQL 的安装路径
basedir = /software/servers/5-mysql-8.0.16
#mysql数据目录
datadir = /data/mysql/data
#mysql端口号
port = 20005
#可以通过socket文件来快速的登录mysql对应不同端口下的实例
socket = /tmp/mysql.sock
#临时文件目录
tmpdir=/data/mysql/tmp
#控制了general log、error log、slow query log日志中时间戳的显示,默认使用的UTC
log_timestamps=system
#服务器安装时指定的默认编码格式,这个变量建议由系统自己管理,不要人为定义。
character-set-server = utf8mb4
#默认排序规则
collation-server = utf8mb4_unicode_ci
#用户登录到数据库上之后,在执行第一次查询之前执行 里面的内容的
init_connect='SET NAMES utf8mb4'
character-set-client-handshake = FALSE
#禁止域名解析
skip-name-resolve
#事务隔离级别
transaction_isolation = READ-COMMITTED
#最大连接数
max_connections=4000
#阻止过多尝试失败的客户端以防止暴力破解密码
max_connect_errors=10000
#服务器关闭非交互连接之前等待活动的秒数
wait_timeout=86400
#服务器关闭交互式连接前等待活动的秒数
interactive_timeout=86400
#单个记录大小限制
max_allowed_packet=100M
#密码认证方式
default_authentication_plugin=mysql_native_password
#缓冲池字节大小,单位kb,如果不设置,默认为128M
innodb_buffer_pool_size=225G
#指定innodb tablespace文件( ibdata1就是默认表空间文件,文件大小为1G。因为有autoextend,若空间不够用,该文件可以自动增长)
innodb_data_file_path = ibdata1:1G:autoextend
server_id = 161
开启gtid
gtid_mode = ON
enforce_gtid_consistency = ON
log_slave_updates = ON
# 如果的值sync_master_info大于0,则副本在每个sync_master_info事件后都会更新其连接元数据存储库表 。如果为0,则表永远不会更新。
master_info_repository = TABLE
#此变量的设置确定副本服务器是否将其在中继日志中的位置记录到系统数据库中的 InnoDB表 mysql或数据目录中的文件中。
relay_log_info_repository = TABLE
# 用来决定slave同步的位置信息记录在哪里。 如果relay_log_info_repository=file,就会创建一个realy-log.info,如果relay_log_info_repository=table,就会创建mysql.slave_relay_info表来记录同步的位置信息。
binlog_checksum = NONE
#校验binlog,默认为crc32
log_bin = /data/mysql/logs/binlog
#binlog日志文件存储路径
sync_binlog=100
#该参数控制着二进制日志写入磁盘的过程。
#该参数的有效值为0 、1、N:
#0:默认值。事务提交后,将二进制日志从缓冲写入磁盘,但是不进行刷新操作(fsync()),此时只是写入了操作系统缓冲,若操作系统宕机则会丢失部分二进制日志。
#1:事务提交后,将二进制文件写入磁盘并立即执行刷新操作,相当于是同步写入磁盘,不经过操作系统的缓存。
#N:每写N次操作系统缓冲就执行一次刷新操作。
#将这个参数设为1以上的数值会提高数据库的性能,但同时会伴随数据丢失的风险。
#二进制日志文件涉及到数据的恢复,以及想在主从之间获得最大的一致性,那么应该将该参数设置为1,但同时也会造成一定的性能损耗。
log_bin_trust_function_creators = 1
#它控制是否可以信任存储函数创建者,不会创建写入二进制日志引起不安全事件的存储函数。如果设置为0(默认值),用户不得创建或修改存储函数,除非它们具有除CREATE ROUTINE或ALTER ROUTINE特权之外的SUPER权限。 设置为0还强制使用DETERMINISTIC特性或READS SQL DATA或NO SQL特性声明函数的限制。 如果变量设置为1,MySQL不会对创建存储函数实施这些限制。 此变量也适用于触发器的创建
slow_query_log = ON
#开启慢查询日志
long_query_time = 2
#定义慢查询时间,超过2秒的sql才会被记录到slow.log
slow_query_log_file = /data/mysql/logs/slow.log
#慢日志存放路径
binlog_expire_logs_seconds = 1296000
#binlog失效日期单位秒
binlog_format = ROW
#binlog模式(ROW行模式,Level默认,mixed自动模式)
binlog_cache_size = 4M
#为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存。
max_heap_table_size = 64M
#用户可以创建的内存表(memory table)的大小.这个值用来计算内存表的最大行数值
tmp_table_size = 64M
#内部内存临时表的最大值
key_buffer_size = 32M
#指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。
read_buffer_size = 2M
#MySQL读入缓冲区大小
read_rnd_buffer_size = 2M
#读取MyISAM表
bulk_insert_buffer_size = 64M
sort_buffer_size = 2M
#是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存
join_buffer_size = 2M
#用来缓存以上第二、第三这两类 JOIN 检索的一个 BUFFER 内存区域块
transaction_write_set_extraction = XXHASH64
#指示服务器对于每个事务,它必须收集写集并使用XXHASH64散列算法将其编码为 散列
loose-group_replication_group_name = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
#命名格式,每个实例必须完全相同
loose-group_replication_start_on_boot = off
#插件在服务器启动时不自动启动操作
loose-group_replication_local_address = '172.16.1.161:33061'
#指定本机地址及端口,是通信端口,不是实例端口
loose-group_replication_group_seeds = '172.16.1.161:33061,172.16.1.162:33061,172.16.1.163:33061,172.16.1.164:33061,172.16.1.228:33061'
#设置组成员的主机名和端口,端口使用的是通信端口,不是实例端口
loose-group_replication_bootstrap_group = off
#引导是否开启,选择关闭,手动引导
loose-group_replication_single_primary_mode = on
#关闭单主模式的参数
loose-group_replication_enforce_update_everywhere_checks = false
#关闭强制检查