找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3237|回复: 12

mysql数据库配置文件不知道怎么配置?用这个工具一键生成

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:29
  • 打卡月天数:1
  • 打卡总奖励:7791
  • 最近打卡:2025-12-13 17:25:16

2540

主题

1353

回帖

2万

积分

管理员

积分
21301
发表于 2021-3-9 20:17:46 | 显示全部楼层 |阅读模式
概述
作为DBA或系统运维人员在安装或配置mysql的过程中,经常遇到mysql的配置文件参数不知如何设置?哪些参数需要设置?参数值设置为多少比较合理。下面分享一个老叶的在线生成mysql的生成器。

功能界面




生成文件## my.cnf for MySQL 5.7/8.0#[client]port        = 3306socket        = /data/mysql/mysql.sock[mysql]prompt="\u@ycdb \R:\m:\s [\d]> "no-auto-rehash[mysqld]user        = mysqlport        = 3306basedir        = /var/lib/mysqldatadir        = /data/mysqlsocket        = /data/mysql/mysql.sockpid-file = ycdb.pidcharacter-set-server = utf8mb4skip_name_resolve = 1#若你的MySQL数据库主要运行在境外,请务必根据实际情况调整本参数default_time_zone = "+8:00"open_files_limit = 65535back_log = 1024max_connections = 1024max_connect_errors = 1000000table_open_cache = 1024table_definition_cache = 1024table_open_cache_instances = 64thread_stack = 512Kexternal-locking = FALSEmax_allowed_packet = 32Msort_buffer_size = 16Mjoin_buffer_size = 16Mthread_cache_size = 1536interactive_timeout = 600wait_timeout = 600tmp_table_size = 96Mmax_heap_table_size = 96Mslow_query_log = 1log_timestamps = SYSTEMslow_query_log_file = /data/mysql/slow.loglog-error = /data/mysql/error.loglong_query_time = 0.1log_queries_not_using_indexes =1log_throttle_queries_not_using_indexes = 60min_examined_row_limit = 100log_slow_admin_statements = 1log_slow_slave_statements = 1server-id = 3306log-bin = /data/mysql/mybinlogsync_binlog = 1binlog_cache_size = 4Mmax_binlog_cache_size = 2Gmax_binlog_size = 1G#注意:MySQL 8.0开始,binlog_expire_logs_seconds选项也存在的话,会忽略expire_logs_days选项expire_logs_days = 7master_info_repository = TABLErelay_log_info_repository = TABLEgtid_mode = onenforce_gtid_consistency = 1log_slave_updatesslave-rows-search-algorithms = 'INDEX_SCAN,HASH_SCAN'binlog_format = rowbinlog_checksum = 1relay_log_recovery = 1relay-log-purge = 1key_buffer_size = 32Mread_buffer_size = 8Mread_rnd_buffer_size = 16Mbulk_insert_buffer_size = 64Mmyisam_sort_buffer_size = 128Mmyisam_max_sort_file_size = 10Gmyisam_repair_threads = 1lock_wait_timeout = 3600explicit_defaults_for_timestamp = 1innodb_thread_concurrency = 0innodb_sync_spin_loops = 100innodb_spin_wait_delay = 30transaction_isolation = REPEATABLE-READ#innodb_additional_mem_pool_size = 16Minnodb_buffer_pool_size = 5734Minnodb_buffer_pool_instances = 4innodb_buffer_pool_load_at_startup = 1innodb_buffer_pool_dump_at_shutdown = 1innodb_data_file_path = ibdata1:1G:autoextendinnodb_flush_log_at_trx_commit = 1innodb_log_buffer_size = 32Minnodb_log_file_size = 2Ginnodb_log_files_in_group = 2innodb_max_undo_log_size = 4Ginnodb_undo_directory = /data/mysql/undologinnodb_undo_tablespaces = 95# 根据您的服务器IOPS能力适当调整# 一般配普通SSD盘的话,可以调整到 10000 - 20000# 配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000innodb_io_capacity = 4000innodb_io_capacity_max = 8000innodb_flush_sync = 0innodb_flush_neighbors = 0innodb_write_io_threads = 8innodb_read_io_threads = 8innodb_purge_threads = 4innodb_page_cleaners = 4innodb_open_files = 65535innodb_max_dirty_pages_pct = 50innodb_flush_method = O_DIRECTinnodb_lru_scan_depth = 4000innodb_checksum_algorithm = crc32innodb_lock_wait_timeout = 10innodb_rollback_on_timeout = 1innodb_print_all_deadlocks = 1innodb_file_per_table = 1innodb_online_alter_log_max_size = 4Ginnodb_stats_on_metadata = 0#注意:MySQL 8.0.16开始删除该选项internal_tmp_disk_storage_engine = InnoDB# some var for MySQL 5.7innodb_checksums = 1#innodb_file_format = Barracuda#innodb_file_format_max = Barracudaquery_cache_size = 0query_cache_type = 0innodb_undo_logs = 128innodb_status_file = 1#注意: 开启 innodb_status_output & innodb_status_output_locks 后, 可能会导致log-error文件增长较快innodb_status_output = 0innodb_status_output_locks = 0#performance_schemaperformance_schema = 1performance_schema_instrument = '%memory%=on'performance_schema_instrument = '%lock%=on'#innodb monitorinnodb_monitor_enable="module_innodb"innodb_monitor_enable="module_server"innodb_monitor_enable="module_dml"innodb_monitor_enable="module_ddl"innodb_monitor_enable="module_trx"innodb_monitor_enable="module_os"innodb_monitor_enable="module_purge"innodb_monitor_enable="module_log"innodb_monitor_enable="module_lock"innodb_monitor_enable="module_buffer"innodb_monitor_enable="module_index"innodb_monitor_enable="module_ibuf_system"innodb_monitor_enable="module_buffer_page"innodb_monitor_enable="module_adaptive_hash"[mysqldump]quickmax_allowed_packet = 32M

这份配置文件,有以下几个地方需要关注下:
•已默认关闭了query cache,如果觉得有需要,自行打开;
•客户端连接超时我设置600秒,如果觉得太长或太短,自行调整;
•默认打开innodb status输出到log中,以及innodb lock输出到log中,如果觉得烦人,可自行关闭;
•把binlog-format默认改为row格式,如果不符合预期,请自行调整;
•把table lock的默认timeout时长(lock_wait_timeout)设置为3600秒,这个值之前的默认值是1天,我觉得太长了;
•几乎启用了全部Performance Schema功能,方便后续定位性能问题;
•启用了InnoDB Metric的大多数检测模块,方便对InnoDB进行监控;

工控课堂 www.gkket.com

8

主题

415

回帖

2672

积分

高级会员

积分
2672
发表于 2021-3-9 20:17:46 | 显示全部楼层
我顶,我顶,我顶顶顶
工控课堂 www.gkket.com

0

主题

304

回帖

1016

积分

中级会员

积分
1016
发表于 2021-3-9 20:21:45 | 显示全部楼层
论坛有你更精彩!
工控课堂 www.gkket.com

0

主题

326

回帖

435

积分

注册会员

积分
435
发表于 2025-11-16 04:20:22 | 显示全部楼层
哈哈哈哈笑不活,楼主这脑洞绝了!
工控课堂 www.gkket.com

4

主题

435

回帖

2549

积分

高级会员

积分
2549
发表于 2025-11-16 04:30:18 | 显示全部楼层
来凑个热闹,为楼主增加点人气!
工控课堂 www.gkket.com

0

主题

132

回帖

304

积分

注册会员

积分
304
发表于 2025-11-16 04:35:48 | 显示全部楼层
被戳中笑点 / 泪点,太真实了!
工控课堂 www.gkket.com

0

主题

58

回帖

235

积分

注册会员

积分
235
发表于 2025-11-16 04:36:50 | 显示全部楼层
赞同 + 10086,完全说出了我的想法!
工控课堂 www.gkket.com

0

主题

68

回帖

100

积分

新手上路

积分
100
发表于 2025-11-16 04:43:06 | 显示全部楼层
不请自来,只为说一句:太精彩了!
工控课堂 www.gkket.com

0

主题

76

回帖

112

积分

新手上路

积分
112
发表于 2025-11-16 04:43:57 | 显示全部楼层
浅蹲一个后续,楼主更新踢我一下
工控课堂 www.gkket.com

0

主题

90

回帖

126

积分

新手上路

积分
126
发表于 2025-11-16 04:53:53 | 显示全部楼层
蹲一波同款,有没有姐妹 / 兄弟推荐?
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 16:44 , Processed in 0.252135 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表