max_connections

最大连接数
服务器的并发连接请求量比较大,建议调高此值,相应的占用内存越大

max_connections = 768

查看当前配置

show variables like 'max_connections';

max_user_connections

每个用户的最大连接数
默认值 0
0表示,不受限制

max_user_connections = 600

查看当前配置

show variables like 'max_user_connections';

wait_timeout

MySQL客户端的数据库连接闲置最大时间值

默认是 8小时

#单位为秒,3600 表示1小时
wait_timeout=3600

sort_buffer_size

sort_buffer_size是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存。并不是越大越好,由于是connection级的参数,过大的设置+高并发可能会耗尽系统内存资源。官方文档推荐范围为256KB~2MB

sort_buffer_size = 2M

查看当前配置

show variables like '%sort_buffer_size%';

back_log

#默认的50,每个连接256kb,占用:125M

back_log = 500

back_log值不能超过TCP/IP连接的侦听队列的大小
查看 tcp/ip 连接数 cat /proc/sys/net/ipv4/tcp_max_syn_backlog

查看当前配置

show variables like 'back_log'

thread_concurrency

多核心优化,应是 核心的2倍
假设 4个cpu,每个cpu 2核,那么 最后应该是 16

查看当前配置

show variables like 'thread_concurrency'

修改mysql binlog

查看日志

mysql> show binary logs;

输出

+---------------+------------+-----------+
| Log_name      | File_size  | Encrypted |
+---------------+------------+-----------+
| binlog.000017 |  616891021 | No        |
| binlog.000018 | 1073751165 | No        |
| binlog.000019 | 1073742021 | No        |
| binlog.000020 | 1283903951 | No        |
| binlog.000021 |  589666324 | No        |
+---------------+------------+-----------+
5 rows in set (0.14 sec)

全部删除日志

mysql> reset master;

结果
输出

mysql> show binary logs;
+---------------+-----------+-----------+
| Log_name      | File_size | Encrypted |
+---------------+-----------+-----------+
| binlog.000001 |       156 | No        |
+---------------+-----------+-----------+
1 row in set (0.00 sec)

如果想单独删除某一个之前的日志

删除 binlog.000020 之前的,但不包括 binlog.000020

mysql> purge master logs to 'binlog.000020';

结果
输出

mysql> show binary logs;
+---------------+------------+-----------+
| Log_name      | File_size  | Encrypted |
+---------------+------------+-----------+
| binlog.000020 | 1283903951 | No        |
| binlog.000021 |  589666324 | No        |
+---------------+------------+-----------+
2 row in set (0.00 sec)

设置自动删除

修改mysql 配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
......
# 在 [mysqld] 下增加如下,表示  5 天前日志都会删除
--expire_logs_days=5
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐