查看mysqld 打开的最大连接数

本文详细介绍了如何使用lsof命令来查看MySQL服务的进程ID、连接状态及其对文件的限制,包括最大打开文件数。通过实例展示了如何获取mysqld服务的进程ID,进而查看其连接详情和文件限制设置。

  使用lsof命令查看 

[michael@localhost ~]$ sudo lsof |grep mysqld|tail
[sudo] password for michael: 
mysqld     2715     mysql   22u      REG              253,0     4096    2362380 /var/lib/mysql/mysql/tables_priv.MYI
mysqld     2715     mysql   23u      REG              253,0        0    2362381 /var/lib/mysql/mysql/tables_priv.MYD
mysqld     2715     mysql   24u      REG              253,0     4096    2362383 /var/lib/mysql/mysql/columns_priv.MYI
mysqld     2715     mysql   25u      REG              253,0        0    2362384 /var/lib/mysql/mysql/columns_priv.MYD
mysqld     2715     mysql   26u      REG              253,0     4096    2362420 /var/lib/mysql/mysql/procs_priv.MYI
mysqld     2715     mysql   27u      REG              253,0        0    2362421 /var/lib/mysql/mysql/procs_priv.MYD
mysqld     2715     mysql   28u      REG              253,0     1024    2362375 /var/lib/mysql/mysql/servers.MYI
mysqld     2715     mysql   29u      REG              253,0        0    2362376 /var/lib/mysql/mysql/servers.MYD
mysqld     2715     mysql   30u      REG              253,0     2048    2362431 /var/lib/mysql/mysql/event.MYI
mysqld     2715     mysql   31u      REG              253,0        0    2362432 /var/lib/mysql/mysql/event.MYD

 

可以看到 mysqld 服务的 ID 是 2715

使用 cat 命令查看 连接

[michael@localhost ~]$ sudo cat /proc/2715/limits |grep files
Max open files            1185                 1185                 files   

 

 

<think>我们被要求查看MariaDB的大连设置。在MariaDB中,大连由系统变量`max_connections`控制。我们可以通过两种方式查看它:通过SQL语句查询全局变量,或者通过查看配置文件(但配置文件可能被运行时设置覆盖,所以查询当前运行值更可靠)。 根据引用[5]中提到的类似操作(如`show status`和`show global variables`),我们可以使用`SHOW GLOBAL VARIABLES`命令来查看`max_connections`的值。 步骤: 1. 登录到MariaDB服务器(使用mysql命令行客户端)。 2. 执行SQL查询:`SHOW GLOBAL VARIABLES LIKE 'max_connections';` 此外,我们也可以查询`information_schema`数据库中的`GLOBAL_VARIABLES`表,但直使用`SHOW`命令更简单。 注意:大连也可以在配置文件中设置(如my.cnf或my.ini),但运行时可以通过`SET GLOBAL`命令修改(需要有SUPER权限)。而`SHOW GLOBAL VARIABLES`显示的是当前会话中生效的值。 因此,回答用户的问题,我们提供以下步骤: ### 查看MariaDB大连的方法 1. **登录MariaDB命令行**: 使用具有查看全局变量权限的账户(如root)登录: ```bash mysql -u 用户名 -p ``` 2. **执行查询命令**: 在MariaDB提示符下执行: ```sql SHOW GLOBAL VARIABLES LIKE 'max_connections'; ``` 3. **查看结果**: 输出将显示类似以下内容: ``` +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 151 | +-----------------+-------+ 1 row in set (0.001 sec) ``` 这里的`Value`就是当前设置的大连。 4. **(可选)通过状态变量查看实际达到的大连**: 我们还可以查看服务器启动以来曾经达到的大同时连(注意这不是设置的上限,而是实际达到的大值): ```sql SHOW GLOBAL STATUS LIKE 'Max_used_connections'; ``` ### 调整大连(可选) 如果需要调整大连,可以: - **临时调整(重启后失效)**: ```sql SET GLOBAL max_connections = 200; ``` - **永久调整**: 修改配置文件(如`/etc/my.cnf`或`/etc/mysql/my.cnf`),在`[mysqld]`部分添加: ```ini max_connections = 200 ``` 然后重启MariaDB服务。 ### 注意事项 - 增加`max_connections`值可能会增加内存消耗,因为每个连都需要一定的内存(参考引用[5]中提到的线程内存分配)。 - 如果遇到“Too many connections”错误,可能需要增加此值,但也要考虑服务器资源是否足够。 ### 参考引用 以上方法基于MariaDB官方文档和引用[5]中提到的变量查看方式[^5]。 --- §§相关问题§§ 1. 如何调整MariaDB的大连? 2. MariaDB中每个连占用多少内存? 3. 如何监控MariaDB的当前连? 4. 为什么需要限制大连?</think>### 如何在 MariaDB 10.3.9 中查看大连 #### 方法一:通过 SQL 命令查询(推荐) 1. **登录 MariaDB**: ```bash mysql -u root -p ``` 2. **执行查询命令**: ```sql SHOW GLOBAL VARIABLES LIKE 'max_connections'; ``` 输出示例: ``` +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 151 | +-----------------+-------+ ``` 这里的 `Value` 就是大连设置[^5]。 3. **查看当前连状态**(可选): ```sql SHOW STATUS WHERE `variable_name` = 'Threads_connected'; ``` 这会显示当前实际连(非大值)[^3][^5]。 --- #### 方法二:通过配置文件查看(需重启生效) 1. **打开配置文件**: ```bash sudo vi /etc/my.cnf # 或 /etc/mysql/my.cnf ``` 2. **查找配置项**: 在 `[mysqld]` 部分查找: ```ini max_connections = 151 # 默认值通常为 151 ``` 若未显式设置,则使用默认值[^4]。 --- #### 方法三:查看实时状态 ```sql SELECT @@max_connections AS "大连", VARIABLE_VALUE AS "当前连" FROM performance_schema.global_status WHERE VARIABLE_NAME = 'Threads_connected'; ``` 输出示例: ``` +-----------------+-----------------+ | 大连 | 当前连 | +-----------------+-----------------+ | 151 | 5 | +-----------------+-----------------+ ``` --- ### 关键说明 1. **默认值**:MariaDB 10.3.9 默认大连为 **151**(受系统资源限制) 2. **内存影响**:增加 `max_connections` 会显著提升内存占用(参考公式): $$ \text{总内存} \approx \text{max\_connections} \times (\text{thread\_stack} + \text{sort\_buffer\_size} + \text{join\_buffer\_size}) $$ 可通过 `SHOW VARIABLES LIKE '%buffer_size%';` 查看缓存配置[^3][^5]。 3. **修改建议**: ```ini [mysqld] max_connections = 300 # 在 /etc/my.cnf 中修改 ``` 修改后需重启服务:`sudo systemctl restart mariadb`[^4] --- ### 相关问题 1. 如何优化 MariaDB 的内存占用? 2. 出现 "Too many connections" 错误时如何解决? 3. MariaDB 的连池配置有哪些佳实践? 4. 如何监控 MariaDB 的实时连状态?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值