Java 拒绝用户访问mysql的JDBC连接错误<;用户>@&书信电报;主机>;

Java 拒绝用户访问mysql的JDBC连接错误<;用户>@&书信电报;主机>;,java,mysql,jdbc,Java,Mysql,Jdbc,我已经检查了此服务器上的其他堆栈溢出和web链接: MySQL在Linux服务器上 Linux uslx600 2.6.32-358.14.1.el6.x86_64 #1 SMP Mon 表示其IP为1.2.3.4 我可以使用MySQL Workbench从笔记本电脑连接到它。由于堆栈溢出策略,我无法附加映像,但对话框如下所示: Connection Method: tcp/ip Hostname: <host of the server, so e.g. 1.2.3.4>

我已经检查了此服务器上的其他堆栈溢出和web链接:

MySQL在Linux服务器上

Linux uslx600 2.6.32-358.14.1.el6.x86_64 #1 SMP Mon
表示其IP为
1.2.3.4

我可以使用MySQL Workbench从笔记本电脑连接到它。由于堆栈溢出策略,我无法附加映像,但对话框如下所示:

Connection Method: tcp/ip  
Hostname: <host of the server, so e.g. 1.2.3.4>  
Port: 3306 <This is same port as mentioned below for JDBC connection>  
username: bugs  
Default Schema: bugs  
以下工作也适用:

conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/bugs", user, pasword);
但是,如果我给出盒子的IP地址或主机名,它就不起作用了。我真正想做的是从另一台Linux服务器上访问它,但由于同样的问题,它也不起作用

失败时的错误消息为:

Access Denied for user 'bugs'@'<hostname of the server>' (using password=YES)

确保您已将所有权限授予所有主机

检查您的
my.cnf
文件,如果它仅指向127.0.0.1,则注释掉
bind address


错误表示无法使用给定密码连接到服务器。可能是您的密码不正确,或者密码包含特殊字符,您必须正确转义该字符串

另一件事是,用户Bug不能拥有从指定主机连接到服务器的权限。尝试从您正在连接的主机向用户提供授权,然后检查您是否能够连接到MySQL

GRANT ALL PRIVILEGES ON *.* TO 'bugs'@'%' IDENTIFIED BY 'password';
或者对my.cnf文件中的行进行注释

#bind-address = 127.0.0.1 

重新启动mysql服务。

my.cnf没有绑定地址。我认为问题出在jdbc驱动程序上。我必须做些特别的事情才能说“虫子”@%
GRANT ALL PRIVILEGES ON *.* TO 'bugs'@'%' IDENTIFIED BY 'password';
#bind-address = 127.0.0.1