软件连接不到数据库怎么办

2 02 2 年,我就遇到了这种事情。
就在那时,软件突然无法再连接到数据库。
起初我很困惑,不知道发生了什么。

首先我想到:数据库服务宕机了吗?快速打开服务管理器,点击数据库服务,查看状态。
幸运的是,它没有停止,它起作用了。
我松了一口气。

然后我又想了想,尝试使用数据库管理器来连接。
打开 SSMS 并尝试使用 Windows 身份验证登录。
已连接!我知道问题可能就在那里。

然后我想:这是网络问题吗?我检查了网络,一切似乎都很好。
延迟不高,不存在丢包情况。
我又检查了防火墙,发现好像被拦截了,于是我更改了设置。

稍后我将检查连接字符串。
我记得2 02 2 年5 月改过字符串,当时改完后尝试了一下,没有问题。
这次我仔细一看,发现地址、端口、数据库名都正确。
然后我检查了凭据。
用户名和密码正确,权限足够。

最后,我看了一下数据库日志。
这条日志是2 02 2 年6 月的服务器上的,我翻了一下,好像没有什么明显的错误。
我没有太注意它。

结果是什么?无论如何,我重新启动了数据库服务。
2 02 2 年6 月的今天下午,我又开始了三遍。
上次重启后就正常了。
我当时认为这可能只是暂时的问题。

所以后来我意识到我无法连接到数据库。
我首先检查服务状态,然后尝试使用管理器进行连接,然后检查网络和防火墙,检查连接字符串和凭据,查看日志,最后在服务无法正常工作时重新启动服务。
这只是一件小事。
当时我太偏激了,以为软件坏了。

数据库连接失败: connectionerror: connection lost - read econnreset

这个错误……挺烦人的……我当时就遇到过……2 02 2 年……在上海……当时项目急着上线……搞得​​我头疼……
首先……需要检查网络……也就是客户端和数据库服务器……是否连通……
想一想……是不是防火墙关闭了? ..例如,MySQL...默认使用端口3 3 06 ...检查防火墙...是否阻止...
还有...如果网络损坏...或者代理设置错误...或者存在路由问题...
您可以在命令行中键入 ping...或 telnet...8 1 9 .6 比如telnet 3 3 06 ...看看能否连接...
如果使用云服务器...那么您需要检查安全组...是否允许...
然后...您需要检查数据库...是否正在运行...
例如MySQL...您可以输入systemctl mysqld status...或者ps aux | grep mysqld...参见...
如果它不起作用...那么您需要启动它...例如。
systemctl start mysqld...
启动后...应该查看日志...比如/var/log/mysqld.log...看看是否有错误...
然后输入...比如你需要查看正确的连接...URL中的数字...与数据库监听的端口是否相同...
另外...URL中是否有特殊字符...如@、:...必须消失...例如user@host必须改为user%4 0host...
用户名、密码、URL、端口...这些必须正确...
然后查看用户是否可以访问...机器...
您可以查看数据库授权表...例如。
MySQL的mysql.user表...
如果密码错误...那么您需要重置密码...例如。
ALTER 'username'@'host' USER IDENTIFIED BY 'new_password';...
还将控制数据库...w...版本...
例如,MySQL8 .x...必须使用驱动程序 com.mysql.cj.jdbc.Driver...
旧驱动程序版本...可能不起作用...
推荐...从官方站点下载最新驱动程序...更新依赖项项目...
他们也有很好的连接...小...
您可以输入 SHOW PROCESSLIST (MySQL)...查看当前连接数...
如果连接池配置错误...您需要修复它...
另外...不要让连接一直打开...使用后将其关闭...
否则它将查找例如资源...,然后...
内存...您可以使用 -h 来 free 查看...
磁盘空间...您可以使用 df -h 和看看...
如果内存不够...或者磁盘已满...你需要清理它...
数据库日志文件...如果太大...可能有问题...
应该定期在eF中轮换或清理以查看...y
定期登录...
数据库...如何例如MySQL error.log...
还有应用程序日志...
看看有没有错误代码...比如08 001 、1 04 5 ...
还有SQLState信息...
如果日志说服务器崩溃...那么你应该看看.../var/log/messages...
如果还是不行...那么联系你的数据库管理员...看看是不是硬件问题...或者配置太高深...
当时我很困惑...后来才意识到...也许我很极端...但真的...你必须一步一步走下去...