5.7
问题:
url中机器地址写127.0.0.1或是localhost时不会发生,但写真实IP就出现此异常,即使从本机运行也会出此错。
解决方法:
在MySQL控制台,执行以下命令:
mysql> use mysql; Database changed mysql> update user set host='%' where user='root'; Query OK, 1 row affected (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.02 sec)
这样的话mysql8以上版本可以实现安卓连接远程数据库。
JDBCUtils代码:
public class JDBCUtils { private static String driver = "com.mysql.jdbc.Driver";// MySql驱动 private static String dbName = "dbname";// 数据库名称 private static String user = "root";// 用户名 private static String password = "123456";// 密码 public static Connection getConn(){ Connection connection = null; try{ Class.forName(driver);// 动态加载类 String ip = "xx.xx.xx.xx";// 写成本机地址,不能写成localhost,同时手机和电脑连接的网络必须是同一个 // 尝试建立到给定数据库URL的连接 connection = DriverManager.getConnection("jdbc:mysql://" + ip + ":3306/" + dbName, user, password); }catch (Exception e){ e.printStackTrace(); } return connection; } }
需要导jar包。