查看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 的实时连状态?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值