一. 相关命令说明1. show status: 查看当前状态# 示例 # 查看全部状态 show status; # 模糊查询 show status like 'Thread%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 22 | | Threads_connected | 17 | | Threads_created | 39 | | Threads_running | 1 | +-------------------+-------+ 4 rows in set (0.04 sec) # 常用查询项 2.show processlist: 查看当前进程列表# 示例 # 查看全部进程列表 show processlist; # 查看全部进程列表详细信息 show full processlist;3.show global variables: 查看当前参数# 示例 # 查看全部参数 show global variables; # 模糊查询 show global variables like 'key%'; +--------------------------+-----------+ | Variable_name | Value | +--------------------------+-----------+ | key_buffer_size | 536870912 | | key_cache_age_threshold | 300 | | key_cache_block_size | 1024 | | key_cache_division_limit | 100 | | keyring_operations | ON | +--------------------------+-----------+ 5 rows in set (0.04 sec)二. 推荐配置1. 1-2G内存, 使用 < 1Gkey_buffer_size=128M query_cache_size=64M tmp_table_size=64M innodb_buffer_pool_size=256M innodb_log_buffer_size=16MB thread_cache_size=64 table_open_cache=128 max_connections=100 sort_buffer_size=768KB read_buffer_size=768KB read_rnd_buffer_size=512KB join_buffer_size=1024KB binlog_cache_size=64KB2. 2-4G内存, 使用 2Gkey_buffer_size=256M query_cache_size=128M tmp_table_size=384M innodb_buffer_pool_size=384M innodb_log_buffer_size=16MB thread_cache_size=96 table_open_cache=192 max_connections=200 sort_buffer_size=768KB read_buffer_size=768KB read_rnd_buffer_size=512KB join_buffer_size=2048KB binlog_cache_size=64KB3. 4-8G内存, 使用 3Gkey_buffer_size=384M query_cache_size=192M tmp_table_size=512M innodb_buffer_pool_size=512M innodb_log_buffer_size=16MB thread_cache_size=128 table_open_cache=384 max_connections=300 sort_buffer_size=1024KB read_buffer_size=1024KB read_rnd_buffer_size=768KB join_buffer_size=2048KB binlog_cache_size=128KB4. 8-16G内存, 使用 6.5Gkey_buffer_size=512M query_cache_size=256M tmp_table_size=1024M innodb_buffer_pool_size=1024M innodb_log_buffer_size=16MB thread_cache_size=192 table_open_cache=1024 max_connections=400 sort_buffer_size=2048KB read_buffer_size=2048KB read_rnd_buffer_size=1024KB join_buffer_size=4096KB binlog_cache_size=192KB5. 16-32G内存, 使用 16Gkey_buffer_size=1024M query_cache_size=384M tmp_table_size=2048M innodb_buffer_pool_size=4096M innodb_log_buffer_size=16MB thread_cache_size=256 table_open_cache=2048 max_connections=500 sort_buffer_size=4096KB read_buffer_size=4096KB read_rnd_buffer_size=2048 join_buffer_size=8192KB binlog_cache_size=256KB三. MySQL my.ini 参数调整说明# 数据库配置: # key_buffer_size: 索引缓冲区 越大越好 建议目标内存的1/10 # query_cache_size: 查询缓存 按需开启 索引的一半大小, 使用SHOW VARIABLES LIKE 'have_query_cache';命令查看是否支持, YES代表支持 # tmp_table_size: 临时表缓存 越大越好 建议目标内存的1/5 # innodb_buffer_pool_size: Innodb引擎缓冲区大小 越大越好 建议同临时表大小或更大一些 # innodb_log_buffer_size: Innodb引擎日志缓冲大小, 16M够用 # thread_cache_size: 线程缓存大小, 建议为索引缓冲区M的数量的一半, 使用 show status like Threads_created 命令查看, 如果数值过大, 建议增大此配置 # table_open_cache: 表缓存, 建议同临时表缓冲M数量 # max_connections: 建议同索引缓冲M数量, 可根据项目实际情况调整 ## --------------------------------------- # 单链接配置 # sort_buffer_size: 排序缓冲, 根据数据库中单行数据大小确定, 建议 索引缓冲区/最大连接数 * 2 # read_buffer_size: 读缓冲, 同排序缓冲 # read_rnd_buffer_size: 随机读取缓冲区, 建议读缓冲的一半 # join_buffer_size: 表关联缓冲区大小, 根据执行SQL的关联情况而定, JOIN的越多, 建议此项配置越大, 正常为 读缓冲 * 2 即可 # binlog_cache_size: 二进制日志缓冲大小, 必须为分区簇大小的倍数, 如: 硬盘分区时进行了4K对齐, 则此处必须为4的倍数, 建议128K