mysql maxpoolsize_mysql数据库参数innodb_buffer_pool_size和max_connections

接到报故,查看mysql数据库以下参数

1、innodb_buffer_pool_size

2、max_connections

该参数定义了数据缓冲区buffer pool大小,类似于oracle的db_cache_size

mysql> show global variables like 'innodb_buffer_pool_size';

+-------------------------+-----------+

| Variable_name           | Value     |

+-------------------------+-----------+

| innodb_buffer_pool_size | 134217728 |

+-------------------------+-----------+

1 row in set (0.00 sec)

那么如何设置该参数大小呢?首先查看运行时buffer pool相关数据指标:

mysql> show global status like 'Innodb_buffer_pool_pages_data';

+-------------------------------+-------+

| Variable_name                 | Value |

+-------------------------------+-------+

| Innodb_buffer_pool_pages_data | 314   |

+-------------------------------+-------+

1 row in set (0.00 sec)

mysql> show global status like 'Innodb_buffer_pool_pages_total';

+--------------------------------+-------+

| Variable_name                  | Value |

+--------------------------------+-------+

| Innodb_buffer_pool_pages_total | 8191  |

+--------------------------------+-------+

1 row in set (0.00 sec)

mysql> show global status like 'Innodb_page_size';

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| Innodb_page_size | 16384 |

+------------------+-------+

1 row in set (0.00 sec)

上述三项指标的含义如下:

Innodb_buffer_pool_pages_data

The number of pages in the InnoDB buffer pool containing data. The number includes both dirty and

clean pages.

Innodb_buffer_pool_pages_total

The total size of the InnoDB buffer pool, in pages.

Innodb_page_size

InnoDB page size (default 16KB). Many values are counted in pages; the page size enables them to be

easily converted to bytes

计算Innodb_buffer_pool_pages_data/Innodb_buffer_pool_pages_total*100%

当结果 > 95% 则增加 innodb_buffer_pool_size, 建议使用物理内存的 75%

当结果 < 95% 则减少 innodb_buffer_pool_size,

建议设置大小为: Innodb_buffer_pool_pages_data* Innodb_page_size * 1.05 / (1024*1024*1024)

--------------------------------------------------------------------------------------------------------------------------------------------------------

MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考。

我们经常会遇见“MySQL: ERROR 1040: Too many connections”的情况,一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配置文件中max_connections值过小:

mysql> show variables like 'max_connections';

+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| max_connections | 256 |

+-----------------+-------+

这台MySQL服务器最大连接数是256,然后查询一下服务器响应的最大连接数:

mysql> show global status like 'Max_used_connections';

MySQL服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是:

Max_used_connections / max_connections * 100% ≈ 85%

最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。

修改:

vim /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log_bin = binlog

binlog_format = mixed

expire_logs_days = 7

innodb_buffer_pool_size = 4096M

lower_case_table_names = 1

max_connections = 500

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

这个改完后必须重启,可以通过show variables like '%innodb_buffer_pool_size%';命令看是否修改成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 8.0中,可以通过配置max_connections和innodb_buffer_pool_size来优化性能。下面是如何配置这些参数的方法: 1. max_connections:这个参数用于设置MySQL服务器允许的最大连接数。默认值为151。可以根据应用程序的需求适当调整这个值。 - 打开MySQL的配置文件my.cnf或my.ini文件(根据操作系统不同,文件位置可能有所不同)。 - 在[mysqld]部分中,添加或修改max_connections参数,例如: ``` [mysqld] max_connections = 200 ``` - 保存文件并重启MySQL服务器,使新的设置生效。 2. innodb_buffer_pool_size:这个参数用于设置InnoDB存储引擎使用的缓冲池大小,即用于缓存数据和索引的内存大小。默认值为134217728(即128MB)。 - 打开MySQL的配置文件my.cnf或my.ini文件。 - 在[mysqld]部分中,添加或修改innodb_buffer_pool_size参数,例如: ``` [mysqld] innodb_buffer_pool_size = 1G ``` 这里的1G表示1GB内存大小。 - 保存文件并重启MySQL服务器,使新的设置生效。 注意事项: - 调整max_connections时需要考虑服务器的硬件资源和内存限制。不宜设置过高,以免导致服务器负载过大或内存不足。 - 调整innodb_buffer_pool_size时需要根据服务器的可用内存进行设置。建议将大部分可用内存分配给InnoDB缓冲池,但不要超过系统的物理内存限制。 在进行以上配置时,请确保备份了MySQL的配置文件,并谨慎操作,以避免对数据库产生不良影响。如有需要,建议在进行配置之前参考MySQL官方文档或咨询专业人士的意见。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值