如何查看linux数据库断了
如何查看linux数据库断了详细介绍
在 Linux 中检查数据库是否断开连接,需根据具体数据库类型(如 MySQL、PostgreSQL、MongoDB 等)采取不同方法。以下是通用及常见数据库的检查步骤:
一、通用检查步骤
1.
检查数据库服务是否运行
- systemd 服务(适用于大多数 Linux 发行版):
bashsystemctl status mysql.service
- 若状态为
active (running),说明服务正在运行;若为inactive或failed,需启动或排查服务故障。
- 若状态为
- 手动启动服务(若未运行):
bashsystemctl start mysql.servicesystemctl restart mysql.service
2.
本地连接测试
- 使用数据库客户端工具本地连接(以 MySQL 为例):bash
mysql 用户名 - PostgreSQL:bash
psql 用户名 数据库名 - MongoDB:bash
mongo
3.
端口监听检查
- 确认数据库端口是否正常监听(如 MySQL 默认端口 3306,PostgreSQL 5432,MongoDB 27017):bash
端口号- 若端口未列出,说明数据库服务未启动或未绑定到正确端口。
二、针对常见数据库的深度检查
1. MySQL/MariaDB
- 查看当前连接会话:
sqlmysql PROCESSLIST- 若结果为空或提示权限问题,可能连接异常。
- 检查错误日志:
bash/var/log/mysql/error.log
- 搜索关键词(如
connection、error、timeout)定位断开原因。
- 搜索关键词(如
- 远程连接配置:
- 确认
my.cnf中bind-address是否允许目标 IP 连接(如设置为0.0.0.0允许所有远程连接)。 - 检查用户权限是否允许远程登录:sql
mysql Host mysql
- 确认
2. PostgreSQL
- 查看活动连接:
sqlpostgres- 若结果为空或连接数异常,可能存在断开问题。
- 检查日志:
bash/var/log/postgresql/postgresql-16-main.log- 关注
FATAL或ERROR级别的日志,如认证失败、连接超时等。
- 关注
- 配置文件检查:
pg_hba.conf:确认是否允许目标 IP 或用户连接(如host all all 0.0.0.0/0 md5)。postgresql.conf:检查listen_addresses是否配置正确(如*表示所有接口)。
3. MongoDB
- 查看连接状态:
javascriptshell 连接后执行:db # 查看连接数和状态
- 日志检查:
bash/var/log/mongodb/mongod.log- 搜索
connection、network相关错误,如connection reset by peer。
- 搜索
- 配置文件:
- 检查
mongod.conf中的net.bindIp和port是否正确。
- 检查
三、网络与防火墙排查
- 网络连通性测试(客户端到数据库服务器):
bash数据库服务器IPtelnet 数据库服务器IP 端口号
- 若
telnet提示连接失败,可能是防火墙、端口未开放或数据库服务未启动。
- 若
- 防火墙设置:
- Firewalld:bash
firewall-cmd --list-portsfirewall-cmd --add-port端口号/tcp
firewall-cmd
- UFW:bash
ufw statusufw allow 端口号/tcp
- Firewalld:bash
四、总结流程
- 服务状态:确认数据库服务正常运行(
systemctl status)。 - 本地连接:通过客户端工具测试本地连接(排除网络问题)。
- 端口监听:检查端口是否被数据库进程监听(
netstat/ss)。 - 远程连接:测试远程连接(
telnet),检查防火墙和数据库配置(如允许远程访问)。 - 日志分析:查看错误日志定位具体断开原因(认证失败、超时、网络问题等)。
- 会话状态:通过数据库内置命令查看当前连接会话(是否有阻塞或异常断开)。
根据以上步骤逐步排查,可定位数据库断开的具体原因(服务未启动、配置错误、网络阻塞、认证失败等),并针对性解决。