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

@[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数据库的权限。注意:这句中两个星号之间有个英文点,由于编辑器的原因我打不出来,大家参考图片)

5.flush privileges;(刷新权限)
6.quit;
终于,你再调试一下你的Android studio代码,竟然发现他成功了哈哈。到此为止,圆满解决了哈哈。
总结一下,这个帖子是我费心费力写好的,就是想大家不要和我一样死那么多脑细胞,我亲测可行的哈。真的希望可以帮助到大家,如果帮助到了你,要不给我点个赞?满足以下我的成就感哈哈。
当然操作步骤有什么不清楚的可以给我留言定会回复的。如果是别的报错,我能力之内的我一定会回复你的,如果我没有回复,说明我也不会只是不好意思说出来。

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

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐