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包。

posted @ 2024-06-06 22:03  chrisrmas、  阅读(17)  评论(0编辑  收藏  举报