🤞目录🤞
【大家好,我是爱干饭的猿,如果喜欢这篇文章,点个赞👍,关注一下吧,后续会持续分享每日一题和SSM其他重要知识点总结】
上一篇文章:《【web】理解 Cookie 和 Session 机制》
用 Linux 部署 web 项目的测试过程中遇到了这个错误。
🧨1. 报错情况一:

根据提示:
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.从上次成功发送到服务器的数据包是0毫秒前。驱动程序尚未从服务器收到任何数据包。
说明这个数据库是远程连接的爆出这个错误的,原因是 mysql 数据库远程连接中断设定的默认查询执行失败。
分析原因:检查自己本地数据库连接是否正确
解决方案:1. 检查配置:检查在xml中对mysql配置的jdbc。
2. 检查路径:jdbc 连接 mysql 时的url 书写是否正确。
3. 检查端口:一般端口没啥问题。
4. 检查 mariadb 是否启动。(我就是没设置开机自启动,导致不能正确连接)
1.1 检查配置

url: jdbc:mysql://127.0.0.1:3306/数据库名称?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
1.2 检查路径

1.3 检查端口


1.4 检查 mariadb 是否启动
打开 Xshell 7 连接到自己的云服务器
mysql -uroot -p 连接数据库

发现报错:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
找到原因:可能是 mariabd (mysql) 未启动
systemctl start maridb 启动mariadb
ps aux | grep mariadb 检查进程

确实是 mariabd (mysql) 未启动导致。
扩展:
- systemctl start mariadb 启动
- systemctl stop mariadb 关闭
- systemctl enable mariadb 设置开机自启
再次连接mysql。
mysql -uroot -p 连接数据库
连接数据库成功。
访问部署好的网站:

访问成功,报错解决成功。
🧨2. 报错情况二:
根据提示:
The last packet successfully received from the server was 1,302 milliseconds ago
从服务器成功接收到的最后一个数据包是1302毫秒前。
2.1 检查配置
解决方法如下:
- 修改数据库连接配置在数据库连接上,加“&autoReconnect=true&failOverReadOnly=false”配置,但是mysql4以下的版本有效,mysql5以上的无效。
- 修改数据库连接有效时间,在数据库配置上设置,把数据库连接有效时间设置长一点,比如设置12小时或者24小时。**方法:**在MySql的配置文件my.ini或者mysql.xml的配置文件里边加上interactive_timeout=388000和wait_timeout=388000即可!
第一个问题的错误,需要把数据库连接配置德的useSSL=true改成useSSL=false

MySQL在高版本需要指明是否进行SSL连接。
- true 需要连接
- false 不需要连接
使用JDBC跟你的数据库连接的时候,你的JDBC版本与MySQL版本不兼容,MySQL的版本更高一些,在连接语句后加上“useSSL=‘true’” ,就可以连接到数据库了。
本次分享就到这里,如果你喜欢这篇文章,请点赞加关注吧,或者如果你对文章有什么困惑,可以私信我。
🏓🏓🏓
本文介绍了在Linux环境下部署web项目时遇到的两个数据库连接问题。问题一是由于MariaDB未启动导致的数据库连接失败,解决方案包括检查配置、路径、端口,并通过`systemctl`命令启动和设置开机自启MariaDB。问题二是数据库连接超时,可通过增加配置参数`autoReconnect=true`和`failOverReadOnly=false`尝试解决,或调整数据库连接超时时间。
8666





