我拆过的坑cycx

查询一下!

Android Studio连接mysql8.0.25经验贴(三天血与泪的教训)

尝试方法:

1.AndroidManifest.xml添加网络权限,这里需要注意:修改完成之后需要在模拟器里卸载app,重新运行

 <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

2.mysql-connector-java8.0的版本需要把driver从com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Driver

(可以打开com.mysql路径包查看你的driver类在哪里,com.mysql.jdbc下虽然也有Driver,但是仅仅是为了提示真正有效的Driver的路径)


3.url后添加这一串:能查到有问题的我都加了

"jdbc:mysql://192.168.1.58:3306/mydb??useUnicode=true&characterEncodeing=UTF-8&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true"

4.mysql新建用户,授予所有ip可访问,并授予该用户所有权限(中文部分自行更改),用这个用户密码连接

create user '用户名'@'%' identified by '密码';

grant all privileges on `数据库名`.* to '用户名'@'%'; 

flush privileges;

5.报错The last packet sent successfully to the server was 0 milliseconds ago

修改mysql中的my.ini文件,添加


[mysqld]


wait_timeout=31536000


interactive_timeout=31536000


6.Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

java.net.SocketException: socket failed: EACCES (Permission denied) 报错以及网络不可达等问题

方案1:卸载app重新运行

方案2:添加新的模拟器

方案3:重新下载jar包,这里选择5.0版本,我的mysql版本是mysql8.0.25,但是我用mysql-connector-java8.0.25一直连接失败,实在没办法了就更改为低版本。

运行成功!



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.