[mysqld]
实例基本参数
安装路径
basedir=/app/database/mysql
数据库文件存储的目录
datadir=/data/3306
错误日志的路径和名称
log-error=/data/3306/mysqlerr.log
进程ID文件位置文件名称
pid-file=/data/3306/mysqld.pid
服务器监听的TCP端口号
port=3306
服务辨识号
server_id=12345
sock文件路径
socket=/data/3306/mysql.sock
临时文件的目录
tmpdir = /data/tmp
MySQL运行用户
user=mysql
实例其他重要参数
MySQL服务器的字符集和排序规则
character-set-server=utf8
MySQL服务器的排序规则
collation-server=utf8_general_ci
指定默认的身份验证
default_authentication_plugin=mysql_native_password
控制日期和时间函数的行为,显式地为每个会话设置默认值
explicit_defaults_for_timestamp=1
将每个表的数据存储在一个单独的文件中
innodb_file_per_table=1
域名解析
skip_name_resolve=1
控制SQL语句的书写方式和数据校验
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
支持符号链接
symbolic-links=0
事务隔离级别
transaction-isolation = READ-COMMITTED
限制mysqld只能在/backup目录中执行导入导出,其他目录不能执行。
secure_file_priv = /backup
开启federated存储引擎作用库服务器连接mysql(类似dblink)
federated=1
开启克隆插件
plugin-load-add=mysql_clone.so
重要性能和安全参数
数据库可拥有的未完成连接请求数
back_log = 512
设置缓冲池的大小,设置物理内存的50%-70%
innodb_buffer_pool_size = 80000M
缓存池实例数量
innodb_buffer_pool_instances=6
磁盘 I/O 能力的上限
innodb_io_capacity_max = 1500
锁定等待的超时时间
innodb_lock_wait_timeout=1200
最大脏页的百分数,默认值为 75
innodb_max_dirty_pages_pct = 90
设置排序缓冲区的大小
innodb_sort_buffer_size = 4M
参数限制并发执行的操作系统线程的数量
innodb_thread_concurrency=128
服务器关闭交互式连接前的等待活动的秒数
interactive_timeout=3600
JOIN 操作的缓冲区的大小
join_buffer_size=2M
MyISAM表的索引块的缓冲区的大小
key_buffer_size=32M
数据库锁超时时间
lock_wait_timeout=1200
控制一个数据包发送的任何参数的最大大小
max_allowed_packet=64M
最大错误连接数
max_connect_errors=500
最大连接数
max_connections=8192
myisam_sort_buffer_size = 4M
从磁盘读取数据块到内存中的缓冲区的大小
read_buffer_size = 1M
排序和查询操作中使用的随机读缓存的大小
read_rnd_buffer_size = 2M
排序操作的缓冲区大小
sort_buffer_size=2M
线程缓存的大小
thread_cache_size=64
非交互连接之前等待活动
wait_timeout=3600
redolog相关参数
日志刷新;0:【性能高】;1:【安全】;2:【性能高】
innodb_flush_log_at_trx_commit=1
使用 O_DIRECT 打开数据文件,使用 fsync() 刷写数据文件与 redo log
innodb_flush_method=O_DIRECT
日志缓冲区大小
innodb_log_buffer_size=128M
日志文件的大小
innodb_log_file_size = 512M
有多少个事务日志文件组成事务日志组
innodb_log_files_in_group = 4
慢日志相关参数
sql慢日志阈值
long_query_time=2
开启记录慢日志功能
slow_query_log=1
慢日志文件路径
slow_query_log_file=/data/3306/mysql-slow20230627.log
binlog和复制参数
二进制日志文件的缓存大小
binlog_cache_size = 131072
验证binlog的完整性,默认CRC32
binlog_checksum=NONE -- 禁用校验
二进制日志文件过期时间
binlog_expire_logs_seconds=172800
expire_logs_days = 3
记录每一行数据被修改的形式
binlog_format=row
二进制日志记录的行数据格式
#binlog_row_image='minimal'
开启记录详细的行操作信息
binlog_rows_query_log_events =1
开启记录详细的行操作信息
enforce_gtid_consistency=ON
启用GTID
gtid_mode=ON
指定二进制日志文件名称。
log_bin=/binlog/mysqlbin
指定二进制日志的索引文件名称。
log_bin_index=/binlog/mysql-bin.index
从服务器上记录二进制日志的方式,记录所有从服务器的更新操作到主服务器
log_slave_updates=ON
二进制日志中主服务器的相关信息存储位置,将主服务器的二进制日志信息存储在MySQL的数据表中。
master_info_repository=TABLE
只读
read_only=1
设定从服务器的中继日志中的相关信息存储位置,将中继日志信息存储在MySQL的数据表中
relay_log_info_repository=TABLE
指定从服务器在进行并行复制时的行为,使用逻辑时钟进行并行复制。这意味着从服务器会根据主服务器上的时间戳来执行复制操作,而不是物理时间。
slave_paralle_type=LOGICAL_CLOCK
从服务器在进行并行复制时使用的线程数
slave_paralle_workers=4
主从复制过程中从服务器可以自动跳过的错误号
slave_skip_errors = 1032,1062,1053,1146
每个事务提交时将二进制日志同步到磁盘
sync_binlog=1
MGR
服务器必须收集每个事务的写集并通过哈希算法对其进行编码。
transaction_write_set_extraction=XXHASH64
指定组复制中的组名
loose-group_replication_group_name=“d363d9d6-cc08-4778-8044-960e3148d925“
该插件服务器启动时不自动开启
loose-group_replication_start_on_boot=off
指定本地节点的IP地址,限制复制范围
loose-group_replication_local_address=“10.10.4.117:33062“
设置组成员的hostname和port,扩展复制范围
loose-group_replication_group_seeds=“10.10.4.116:33061,10.10.4.117:33062,10.10.4.118:33063“
控制组复制中节点加入组的流程,新节点需要手动配置才能加入到组中
loose-group_replication_bootstrap_group=off
控制组复制的单主模式,只有一个节点可以写入数据,其他节点只能读取数据
loose-group_replication_single_primary_mode=on
表示组复制不强制执行更新操作的一致性检查
loose-group_replication_enforce_update_everywhere_checks= off
自增列的自增因子
group_replication_auto_increment_increment
特殊情况下使用的参数
在MySQL服务器异常重启失败后对MySQL服务进行修复启动,InnoDB将在只读模式下运行,以允许MySQL服务器运行,即使它检测到损坏的表或索引 。
innodb_force_recovery = 1
[mysql]
sock文件路径
socket=/data/3306/mysql.sock
[mysqld_safe]
指定libjemalloc.so
malloc-lib = /usr/lib64/libjemalloc.so.1