我试图使用jdbc连接连接到远程mysql数据库。但我得到了
java.sql.SQLException:运行java类时,用户拒绝访问此异常。但是我可以使用mysql查询浏览器或mysql命令连接到这个数据库。我用以前的版本替换了jdbc驱动程序,但仍然遇到此错误。我只能读取远程数据库的权限。请帮我解决这个问题。
尝试{ //这将加载MySQL驱动程序,每个DB都有自己的驱动程序 的Class.forName( “com.mysql.jdbc.Driver”); //设置与DB的连接
connect = DriverManager .getConnection("jdbc:mysql://myremotehost/remotedatabase?user=username&password=password"); // Statements allow to issue SQL queries to the database statement = connect.createStatement(); // Result set get the result of the SQL query resultSet = statement .executeQuery("select * from mytable limit 10"); writeResultSet(resultSet); } catch (Exception e) { throw e; } finally { close(); }
由于
答案 0 :(得分:1)
您好我找到了解决这个问题的方法。此错误是因为密码包含&符号。我们用& jdbc连接字符串中的符号作为分隔符。
答案 1 :(得分:0)
假设您提供了正确的用户名和密码,这意味着用户没有足够的权限远程访问服务器。
通过创建用于远程访问服务器的新用户来尝试以下操作
CREATE USER 'newUser'@'%' IDENTIFIED BY 'newPass123';
GRANT ALL PRIVILEGES ON *.* TO 'newUser'@'%' WITH GRANT OPTION;
现在,使用newUser
和newPass123
远程连接。