欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

## @[Android studio通过jdbc连接mysql基本步骤 以及 遇到的坑“The last packet sent successfully to the server was 0 m

程序员文章站 2022-04-19 14:10:23
@[Android studio通过jdbc连接mysql基本步骤 以及 遇到的坑“The last packet sent successfully to the server was 0 milliseconds ago”哈哈](这里写自定义目录标题)小白第一次发博客哈哈,记录一下这三个晚上来我的悲惨经历以及我成功解决bug后的极度开心。第一个晚上,有点小烦躁,但感觉还可以,有点小bug......

@[Android studio通过jdbc连接mysql基本步骤 以及 遇到的坑“The last packet sent successfully to the server was 0 milliseconds ago”哈哈]

小白第一次发博客哈哈,记录一下这三个晚上来我的悲惨经历以及我成功解决bug后的极度开心。
第一个晚上,有点小烦躁,但感觉还可以,有点小bug明天解决吧。
第二个晚上,不急,就一个小bug,20分钟调好吧。。。。。直到半夜1点,我开始锤墙,太难了!垃圾电脑垃圾软件!真想抽根烟,可惜我不会。三点钟,锤墙!不能锤电脑!关机睡觉,我就是笨我就是不会咋地。
第三个晚上,我就知道我是个天才,能有我解决不了的bug嘛哈哈!
其实也不麻烦,只是我非计算机专业小白,加上心情愈加烦躁,所以效率很低,大家耐心按照我的接下来的帖子肯定会有帮助的!
下面就进入正文。首先默认你的android studio都配置好了哈
第一步:导入jar包,写代码,请参考这个帖子:
链接: https://blog.csdn.net/huangzhiyu2004/article/details/82622177
该帖子是我阅贴无数之后总结出的对小白来说测试mysql连接最适合的帖子啦。补充一下,新建一个java文件,粘贴第一堆代码,在mainactivity里面沾第二堆代码。如果你导入的是mysql8.0之前的jar包,String DRIVER = “com.mysql.jdbc.Driver”,如果你导入的是mysql8.0之后的jar包,String DRIVER = “com.mysql.cj.jdbc.Driver”,
第二步:修改bug。这也就是困扰了我很久的垃圾bug。简要报错信息如下:
The last packet sent successfully to the server was 0 milliseconds ago翻译一下:就是说你发了一个包到mysql服务器,人家不回复,就是连接失败。
主要是我的这一行代码报错:conn = DriverManager.getConnection(jdbcUrl, username, password);
注意:我遇到的问题是运行后立马报错,有些帖子提到更改wait_timeout,就不大适用于这种情况。我尝试一些大神的帖子,不幸的是都没解决我的问题,可能我是个例吧,在这里我就列举一下,
链接: https://blog.csdn.net/qq_27471405/article/details/80921846
链接: https://blog.csdn.net/zouxucong/article/details/53924414
大家可尝试一下,如若还没解决就按照我接下来的方法。
然后解决方案如下:
一、简单粗暴直接关闭防火墙
我就是由于防火墙禁用了mysql服务。当然你也可以在防火墙高级设置里开放msql的端口,一般为3306。
二、更改url的IP地址
如果你是在电脑上搭建了一个本地mysql数据库,那么将url里面的IP地址改为电脑在局域网里的地址(在命令行界面直接输入ipconfig命令查看局域网地址)。因为你是采用模拟器或真机模拟,你想实现的是手机来访问电脑上的mysql数据库,但是手机访问的localhost或者127.0.0.1代表的是自身,并不能访问电脑。我相信很多人和我一样,同样的代码用eclipse可以成功访问mysql,但是在android studio下就不能访问,正是因为eclipse是电脑访问自身,可以用localhost或者127.0.0.1,但是手机访问电脑必须用电脑的实际ip地址。
三、升级权限
你需要给你的手机IP地址访问电脑数据库的权限,在命令行界面(dos界面)输入以下语句:
(注意第一句命令后面没有分号,其他每一句命令下面都有分号;以下所有命令中引号都是英文,有的小伙伴反应粘贴到dos界面就是中文引号,大家自己改一下哈)
1.mysql -uroot -p(登陆mysql数据库。大家查看一下自己数据库的用户名和密码,u后面是用户名,p后面是密码,没有的话就不需要输入)
2.select host,user from mysql.user;(查看数据库的用户)
3.CREATE USER ‘root’@‘192.168.%’ IDENTIFIED BY ‘’;(创建叫做root的用户,IP地址是192.168.%,代表任何你局域网内都可以访问,当然你可以直接是%,这样所有人都能访问。identified by后面是密码,我设为为空,即没有密码)
4.grant all privileges on ** to ‘root’@‘192.168.%’ identified by ‘’ with grant option;(给你刚创建的用户升级访问mysql数据库的权限。注意:这句中两个星号之间有个英文点,由于编辑器的原因我打不出来,大家参考图片)
## @[Android studio通过jdbc连接mysql基本步骤 以及 遇到的坑“The last packet sent successfully to the server was 0 m
5.flush privileges;(刷新权限)
6.quit;
终于,你再调试一下你的Android studio代码,竟然发现他成功了哈哈。到此为止,圆满解决了哈哈。
总结一下,这个帖子是我费心费力写好的,就是想大家不要和我一样死那么多脑细胞,我亲测可行的哈。真的希望可以帮助到大家,如果帮助到了你,要不给我点个赞?满足以下我的成就感哈哈。
当然操作步骤有什么不清楚的可以给我留言定会回复的。如果是别的报错,我能力之内的我一定会回复你的,如果我没有回复,说明我也不会只是不好意思说出来。

本文地址:https://blog.csdn.net/l_l_ll_lll/article/details/104942023