po3a  

问题:

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 on   po3a  阅读(179)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
 
点击右上角即可分享
微信分享提示