拒绝用户的Java JDBC访问

拒绝用户的Java JDBC访问,java,mysql,jdbc,Java,Mysql,Jdbc,我正在尝试从java应用程序连接MySQL,它一直在说: java.sql.SQLException:用户“vincent”@“x.x.x.x”的访问被拒绝 (使用密码:是) 我已经在phpmyadmin中进行了检查,vincent可以从任何主机连接,并且我还有一个python脚本,它可以使用相同的用户名/密码进行连接,没有任何问题 有什么问题 多谢各位 注意。在获取连接对象时,您必须指定用户ID和密码: Connection cn=DriverManager.getConnection("pr

我正在尝试从java应用程序连接MySQL,它一直在说:

java.sql.SQLException:用户“vincent”@“x.x.x.x”的访问被拒绝 (使用密码:是)

我已经在phpmyadmin中进行了检查,vincent可以从任何主机连接,并且我还有一个python脚本,它可以使用相同的用户名/密码进行连接,没有任何问题

有什么问题

多谢各位


注意。

在获取连接对象时,您必须指定
用户ID
密码:

Connection cn=DriverManager.getConnection("protocol","userid","password");

尝试从mysql中的任何计算机向用户授予所有权限:

 grant all on db_name.* to ‘vincent’@'%';

其中db_name是您的数据库名称…

以下是我授予权限的方式:

create database foobar;
create user foobar identified by 'foobar';
grant all on foobar.* to 'foobar'@'%' identified by 'foobar';
grant all on foobar.* to 'foobar'@'localhost' identified by 'foobar';
您还需要用户的主机。

使用此选项

GRANT ALL PRIVILEGES ON db_base.* TO db_user @'%' IDENTIFIED BY 'db_passwd';
您必须在db上授予用户访问权限。是的,如果您正在使用用户定义的存储过程和函数,那么也可以使用

GRANT SELECT ON mysql.proc TO 'db_user'@'%';

您是否可以使用
mysql
命令行工具从您试图运行Java应用程序的主机连接到x.x.x.x?