2 回答

TA贡献1934条经验 获得超2个赞
MySQL JDBC 只能通过 TCP/IP 连接(在 Unix 上,或 TCP/IP 或 Windows 上的命名管道)。
MySQL JDBC 驱动程序无法使用本地 unix 套接字建立连接。
在 Unix 上使用 MySQL,localhost
具有我们可能期望的不同含义。它不是 127.0.0.1 TCP/IP 环回地址的主机名同义词。在 Unix 上,MySQL 用户
'user1'@'localhost'
指定只能通过 unix 套接字文件连接的用户;无法通过 TCP/IP 连接到该用户。
上面解释了 MySQL 拒绝来自 JDBC 的连接的原因:连接尝试失败,因为匹配的用户不存在。
要创建一个从 TCP/IP 环回地址连接的 MySQL 用户,假设 MySQL 启动时带有--skip-name-resolve
和不带--skip-networking
,我们可以将 user 指定为:
'user'@'127.0.0.1'
该用户将允许来自 JDBC 的连接。
(如果启用了 MySQL DNS 名称解析,那么我们需要使用解析为环回地址的主机名;或者我们可以考虑为用户的主机名部分使用通配符 '%'。)

TA贡献1784条经验 获得超9个赞
试试这个可能会有所帮助:
1)转到mysql终端。2)mysql>使用mysql;3) mysql> select user, host from user;4)在您旁边的用户将主机设置为“%”而不是本地主机
.
现在在连接中而不是 localhost tryp 指定服务器的 IP 地址。
希望这对您有所帮助。:)
添加回答
举报