我正在尝试从我的java应用程序连接MySQL,并继续说:
java.sql.SQLException:用户'vincent'@'x.x.x.x'拒绝访问 (使用密码:是)
我已经在phpmyadmin中检查过vincent可以从任何主机进行连接,而且我还有一个python脚本可以使用相同的用户名/密码连接而没有任何问题
有什么问题?
非常感谢
问候。
答案 0 :(得分:3)
尝试从mysql中的任何计算机向用户授予所有权限:
grant all on db_name.* to ‘vincent’@'%';
其中db_name是您的数据库名称......
答案 1 :(得分:1)
以下是我授予权限的方式:
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';
您也需要用户的主机。
答案 2 :(得分:1)
使用此
GRANT ALL PRIVILEGES ON db_base.* TO db_user @'%' IDENTIFIED BY 'db_passwd';
您必须在db上授予用户访问权限。如果你正在使用用户定义的存储过程和函数,那么也可以使用
GRANT SELECT ON mysql.proc TO 'db_user'@'%';
答案 3 :(得分:0)
获取连接对象时必须指定userid
和password
:
Connection cn=DriverManager.getConnection("protocol","userid","password");