MySQL配置说明

服务配置

配置组:mysql

参数名 默认值 备注
user easyopsadmin MySQL 登录用户名
password easyopsadmin@163 MySQL 登录密码
allow_host % MySQL 连接授权
root_password easyops_root@163 MySQL root 用户密码
max_connections 2000 MySQL 最大连接数配置

配置组:my.cnf.client

参数名 默认值 备注
default-character-set utf8 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)

配置组:my.cnf.mysql

参数名 默认值 备注
default-character-set utf8 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)

配置组:my.cnf.mysqldump

参数名 默认值 备注
max_allowed_packet 20M MySQL根据配置文件会限制Server接受的数据包大小。有时候大的插入和更新会受 max_allowed_packet 参数限制,导致大数据写入或者更新失败

配置组:my.cnf.mysqld

参数名 默认值 备注
slow_query_log ON 是否开启慢查询
server-id 1 Mysql服务的唯一编号 每个mysql服务Id需唯一
character_set_server utf8 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
sql_mode sql 模式设定
innodb_buffer_pool_load_at_startup ON 在启动时把热数据加载到内存。默认值为on
general_log OFF 普通查询日志,默认值off
wait_timeout 28800 Mysql等待超时时长
log_bin_use_v1_row_events OFF binlog中Rows_log_event的格式,OFF为参与v2版本格式,ON为采用v1版本格式
log_slow_slave_statements ON 将集群中的慢查询日志记录到主节点主机慢查询日志中。
innodb_old_blocks_time 1000 新数据被载入缓冲池,进入old pages链区,当1秒后再次访问,则提升进入new pages链区。
innodb_print_all_deadlocks ON 开启后可以将死锁记录到error.log中
innodb_temp_data_file_path ibtmp1autoextend204800M ibtmp1是非压缩的innodb临时表的独立表空间,通过innodb_temp_data_file_path参数指定文件的路径,文件名和大小
secure_file_priv secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。没有具体值时,表示不对mysqld 的导入
innodb_buffer_pool_dump_at_shutdown ON 在关闭时把热数据dump到本地磁盘。默认值为on
innodb_log_file_size 2147483648 根据你系统的磁盘空间和日志增长情况调整大小
innodb_thread_concurrency 0 默认设置为 0,表示不限制并发数
slave-parallel-workers 16 并行复制配置
innodb_buffer_pool_dump_pct 40 控制转储每个innodb buffer pool instance中innodb buffer pages的比例
innodb_data_file_path ibdata1autoextend innodb data file configs
innodb_adaptive_hash_index OFF 关闭自适应哈希
lower_case_table_names 0 是否对sql语句大小写敏感,1表示不敏感, 0表示敏感
core-file Mysql core file 配置
expire_logs_days 1 mysql清除过期日志的时间,默认值1, 值为0则不自动清理,而是使用滚动循环的方式
innodb_lock_wait_timeout 1 事务等待获取资源等待的最长时间,单位为秒
master_info_repository TABLE 有两个值,分别是file和table,该参数决定了slave记录master的状态
innodb_purge_threads 4 InnoDB中的清除操作是一类定期回收无用数据的操作
slave_preserve_commit_order ON 保证事务是按照relay log中记录的顺序来回放
binlog_rows_query_log_events ON 把sql语句打印到binlog日志里面
innodb_buffer_pool_size 8053063680 InnoDB使用一个缓冲池来保存索引和原始数据
innodb_large_prefix ON 表的字段索引长度限制
log_timestamps SYSTEM 控制 error log、genera log,等等记录日志的显示时间参数。
log_slow_admin_statements ON 管理类的SQL语句、不使用索引的SQL语句都不会被记录
innodb_log_files_in_group 4 日志组中的文件数量,mysql以循环方式写入日志
innodb_flush_method O_DIRECT 控制着innodb数据文件及redo log的打开、刷写模式,三种模式:fdatasync,O_DSYNC,O_DIRECT
innodb_page_cleaners 3 该参数可以提升扩展性和刷脏页性能。
enforce_gtid_consistency ON 强制事务一致
relay_log_info_repository TABLE MySQL回放信息记录方式
table_definition_cache 2048 缓存表定义的相关信息,加快读取表信息速度
autocommit ON 自动提交模式
sync_binlog 1 binlog在每N次binlog写入后与硬盘同步
relay_log_recovery ON 数据库启动后立即启动自动relay log恢复
log_output FILE 指定日志的存储方式
skip-external-locking 跳过外部锁定
innodb_flush_log_at_trx_commit 1 控制log从系统buffer刷入磁盘文件的刷新频率,增大可减轻系统负荷
innodb_strict_mode ON 开启InnoDB严格检查模式
innodb_io_capacity_max 8000 所有缓冲区线程io操作的总上限
binlog_gtid_simple_recovery true BINLOG扫描
min_examined_row_limit 100 查询语句的执行行数检查返回少于该参数指定行的SQL不被记录到慢查询日志
performance_schema ON 用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况
innodb_write_io_threads 4 InnoDB使用后台线程处理数据页上读写I/O(输入输出)请求的数量
max_connect_errors 10000 最大错误连接数,如果有超出该参数值个数的中断错误连接
gtid_mode ON 开启GTID模式
innodb_change_buffering all 控制对哪些操作启用 Change Buffer 功能
thread_handling one-thread-per-connection 配置线程模型,默认情况是one-thread-per-connection,即不启用线程池;将该参数设置为pool-of-threads即启用了线程池
skip-name-resolve 禁用dns解析
innodb_checksum_algorithm crc32 innodb checksum 算法
innodb_buffer_pool_chunk_size 67108864 缓冲区大小相关配置
query_cache_type 0 控制着查询缓存工能的开启的关闭,0时表示关闭,1时表示打开,2表示只要select 中明确指定SQL_CACHE才缓存
performance-schema-instrument ‘memory/%=COUNTED’ 内存监控相关配置
default-time_zone +8:00 时区配置
innodb_io_capacity 4000 设置了Mysql后台任务每秒io操作的上限
binlog_format ROW binlog格式
log_slave_updates ON 主从同步配置
skip-slave-start slave复制进程不随mysql启动而启动
log_throttle_queries_not_using_indexes 0 限制每分钟输出未使用索引的日志数量
show_compatibility_56 ON 限制每分钟输出未使用索引的日志数量
binlog_cache_size 65536 在一个事务中binlog为了记录SQL状态所持有的cache大小
innodb_lru_scan_depth 1024 影响Innodb缓冲区的刷新算法,建议从小到大配置
long_query_time 5 开启慢查询时间,到此值才记录数据
innodb_file_format Barracuda innodb file format
interactive_timeout 1800 MySQL服务器关闭交互式连接前等待的秒数
innodb_read_io_threads 4 innodb处理io读写的后台并发线程数量,根据cpu核来确认
innodb_log_buffer_size 8388608 此参数确定些日志文件所用的内存大小
max_allowed_packet 16777216 数据库数据交换设置
open_files_limit 15000 MySQL打开的文件描述符限制
innodb_open_files 4096 限制Innodb能打开的表的数据
innodb_adaptive_flushing ON Adaptive Flush 机制配置
slave_parallel_type LOGICAL_CLOCK slave 的并发类型
innodb_autoextend_increment 128 InnoDB系统表空间的大小
table_open_cache 2048 InnoDB系统表空间的大小
log_queries_not_using_indexes ON 打开未添加索引的所有日志到慢日志中
log_bin_trust_function_creators OFF binary logging configs
innodb_flush_neighbors 0 刷新邻接页功能
innodb_file_per_table 1 每张表一个独立表空间
innodb_buffer_pool_instances 3 值大于1G时才有意义,小于1G,instances默认为1,大于1G,instances默认为8
transaction-isolation READ-COMMITTED 事务隔离级别

高级参数配置

若需要变更服务配置文件,请按照以下步骤执行:

明确需要添加的参数名称,和其所位于的ini配置文件中的区间名称(以mysqld分组下的max_connections为例)

新增一个配置分组,分组名必须为my.ini (使用1.7.3版本新部署的服务默认存在该分组)

在新分组下新增对应的字段名,类型为object

该字段的值为配置文件对应的分组下的Key/Value对,以JSON对象形式存储

Generated

重启服务,勾选同步配置让配置生效

MySQL服务配置文件参考:https://dev.mysql.com/doc/refman/5.7/en/option-files.html

Root账号密码不要随意变更,会导致服务不可用!