我正在用react native应用程序开发一个android native模块。我正在使用JDBC直接与PC上托管的mysql数据库连接。我的手机和PC位于同一个wifi网络上,而当我尝试访问数据库时,出现以下错误。
java.sql.SQLException: Access denied for user 'root'@'172.20.24.11'(using password:YES)
以下是我用于连接数据库的代码:
try{
Connection con=DriverManager.getConnection(
"jdbc:mysql://172.20.25.207:3306/dgcis","root","root");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select COUNTRY_NAME from exp_imp_brc limit 1;");
while(rs.next())
str = rs.getString(1);
System.out.print(str);
con.close();
}
catch(Exception e){ str = e.toString();}
还请注意,此代码在我的个人笔记本电脑上可以很好地工作,但是当我尝试使用公司的PC在我们公司的网络上运行此代码时,出现此错误。
答案 0 :(得分:0)
您的连接正确,但是当前用户没有访问数据库的权限。首先,您必须拥有相应用户的高级访问权限。您可以通过登录cpanel并选择数据库来授予该权限,并授予您登录的受尊敬的用户的权限。
答案 1 :(得分:0)
当我向尝试连接的用户授予所有特权时,此问题已解决。
我使用了以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'%' identified by 'user_password';
FLUSH PRIVILEGES;