连接服务器数据库出现问题:The driver has not received any packets from the server.(暴力解决,会导致数据丢失,因此需要有备份,慎用!!!)

遇到这个问题第二次了,特此记录一下。

问题出现背景:在云服务器上使用mysql数据库,写程序的时候连接得好好的,能各种查询数据,过了一段时间发现突然连不上了,报错:

W/System.err: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
W/System.err: 
W/System.err: The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
 

解决方案:

1.首先需要去确认服务器上mysql服务是否还在运行:

输入命令 mysql -uroot -p,然后输入密码登录mysql

尝试登陆mysql,发现连接不上,并显示缺失/tmp/mysql.sock文件

 2.使用命令 service mysqld status 查看mysql服务状态:

3.使用命令 systemctl start mysqld 启动mysql服务

结果发现重启后登录还是报一样的错,显示/tmp/mysql.sock不存在

4.查看/etc/my.cnf文件,这个是mysql的配置文件

 显示socket文件存放路径是/tmp/mysql.sock,然而去文件目录发现该文件真的不存在。

5.重启mysql服务,命令:/etc/init.d/mysqld restart

6.重新登录mysql,登录成功

 

 7.登入数据库,发现数据全部没了,只剩下系统的数据库,并且会发现root用户没有权限创建或删除数据库。

8.我们需要去修改/etc/my.cnf配置文件,在[mysqld]下面加上这句话 skip-grant-tables,然后重启 /etc/init.d/mysqld restart,这样我们就能免密登入mysql并修改root用户的权限了(后面改完后记得把这行话去掉),

 

 

 9.修改root用户的权限

登录mysql后,首先刷新用户权限: flush privileges;

然后执行授权语句,代表来自所有域名的root用户拥有对所有表的所有权限:

grant all privileges on *.* to 'root'@'%' identified by 'your_root_password' with grant option;

然后再刷新权限:flush privileges;

10.然后我们就可以对数据库进行操作了,用备份数据恢复我们的数据库,

cd进入到sql备份文件所在目录

使用命令:mysql -u root -p your_database_name < your_backup_file.sql(文件名不要包含-)将备份文件导入到我们的数据库

做完这一步我们就可以重新连上我们原来的数据库了。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"The driver has not received any packets from the server."这个错误通常表示MySQL驱动程序无法与服务器建立连接或接收到任何数据包。解决这个问题的方法有以下几种: 1. 确保MySQL服务器正在运行和可访问。检查MySQL服务是否已正确安装并正在运行。如果MySQL服务未启动或无法访问,您可以尝试重新启动服务或修复安装。 2. 检查连接参数。确保使用的连接参数(例如主机名、端口号、用户名、密码等)是正确的。特别是,确保您正在使用与MySQL 5版本兼容的连接参数。 3. 检查网络连接。如果您在本地或远程连接MySQL服务器时遇到此错误,确保您的网络连接正常工作。尝试使用其他网络连接或尝试从其他计算机连接MySQL服务器,以确定问题是否限制在特定计算机或网络上。 4. 检查MySQL驱动程序版本。请确保您使用的MySQL驱动程序与所连接MySQL服务器版本兼容。如果您使用的是MySQL 8的依赖项去连接MySQL 5,可能出现不兼容的问题。尝试使用与目标MySQL版本兼容的驱动程序版本。 5. 检查防火墙设置。如果您的计算机上启用了防火墙,确保MySQL服务器的端口未被阻止。您可以尝试关闭防火墙或配置防火墙以允许MySQL服务器的通信。 请注意,解决问题可能需要根据您的具体情况进行调整。如果上述方法仍无法解决问题,请提供更多详细信息,以便我能够提供更精确的帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [错误:The driver has not received any packets from the server.](https://blog.csdn.net/weixin_52067659/article/details/125874560)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [The driver has not received any packets from the server.](https://blog.csdn.net/weixin_38189581/article/details/128378279)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值