a安卓连接mysql_AndroidStudio通过jdbc连接mysql的步骤 以及The last packet sent successfully to the server was 0 mil...

码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210、210既

210

之意。

首先默认你的android studio都配置好了。

第一步:导入jar包,写代码,请参考这个帖子:

该帖子是我阅贴无数之后总结出的对小白来说测试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,就不大适用于这种情况。

解决方案如下:

1、简单粗暴直接关闭防火墙

我的报错就是由于防火墙禁用了mysql服务导致的。当然你也可以在防火墙高级设置里开放msql的端口,一般为3306。

2、更改url的IP地址

如果你是在电脑上搭建了一个本地mysql数据库,那么将url里面的IP地址改为电脑在局域网里的地址(在命令行界面直接输入ipconfig命令查看局域网地址)。因为你是采用模拟器或真机模拟,你想实现的是手机来访问电脑上的mysql数据库,但是手机访问的localhost或者127.0.0.1代表的是自身,并不能访问电脑。我相信很多人和我一样,同样的代码用eclipse可以成功访问mysql,但是在android studio下就不能访问,正是因为eclipse是电脑访问自身,可以用localhost或者127.0.0.1,但是手机访问电脑必须用电脑的实际ip地址。

3、升级权限

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

9a335c7dfe791ad42f39ae7baa662388.png

5.flush privileges;(刷新权限)

6.quit;

终于,你再调试一下你的Android studio代码,竟然发现他成功了哈哈。到此为止,圆满解决了哈哈。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值