MySQL配置说明
更新时间: 2023-02-03 18:42:55
阅读 49
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对象形式存储
重启服务,勾选同步配置让配置生效
MySQL服务配置文件参考:https://dev.mysql.com/doc/refman/5.7/en/option-files.html
Root账号密码不要随意变更,会导致服务不可用!
文档反馈
以上内容对您是否有帮助?