mysql-host模式
启动命令
docker stop mysql
docker rm mysql
docker run \ --name mysql \ --network host \ --privileged=true \ --restart unless-stopped \ -v /home/hydev/mysql/my.cnf:/etc/mysql/my.cnf \ -v /home/hydev/mysql/logs:/logs \ -v /home/hydev/mysql/data:/var/lib/mysql \ -v /etc/localtime:/etc/localtime \ -e MYSQL_ROOT_PASSWORD=root1234 \ -d mysql:8.0.17
配置文件
[mysqld] # 字符集 character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci # InnoDB 缓冲池 – 10G 内存环境给 6G,核心优化 innodb_buffer_pool_size = 6G innodb_buffer_pool_instances = 6 # 日志文件 – 增大以减少 checkpoint 压力 innodb_log_file_size = 2G innodb_log_buffer_size = 64M innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT # 连接与线程 max_connections = 300 thread_cache_size = 32 table_open_cache = 4000 table_definition_cache = 2000 # 临时表与排序 tmp_table_size = 128M max_heap_table_size = 128M sort_buffer_size = 2M join_buffer_size = 2M # IO 线程与能力 innodb_read_io_threads = 8 innodb_write_io_threads = 8 innodb_io_capacity = 2000 innodb_io_capacity_max = 4000 # 慢查询日志(可选,便于排查) slow_query_log = 1 slow_query_log_file = /logs/slow.log long_query_time = 2
nacos连接池
# 最大连接数:根据数据库并发量和性能估算,经验公式:((CPU核心数 * 2) + 有效磁盘数) maximum-pool-size: 20 # 最小空闲连接数:建议与maximum-pool-size设为相同,避免创建新连接的额外开销 minimum-idle: 14 # 2. 超时控制参数 # 连接超时:客户端等待连接的最大毫秒数,设置过短容易导致获取连接失败,推荐30000ms (30秒) connection-timeout: 30000 # 空闲超时:仅当minimum-idle < maximum-pool-size时生效,空闲连接被关闭前的最长空闲时间 idle-timeout: 600000 # 连接最大生命周期:任何连接存活的最长时间。应比数据库的wait_timeout或空闲超时设置略短 max-lifetime: 3600000 # 3. 连接校验与监控 # 连接测试查询:极轻量的查询,用于验证连接是否存活,MySQL通常使用'SELECT 1' connection-test-query: SELECT 1 # 连接泄露检测:若连接占用时间超过此阈值(毫秒)则打印警告日志,有助于发现未关闭连接的问题,生产环境建议开启 leak-detection-threshold: 60000
浙公网安备 33010602011771号