jdbc连接虚拟机数据库失败问题 60C

在主机上可以telnet 3306,用navicat也可以连接虚拟机数据库,但是就是用java代码连接出错,求大神帮看一下图片说明

13个回答

你看一下你的数据库的密码设置了吗

ksgt950817
ksgt950817 设置了 后边写了
大约 3 年之前 回复

图片说明
public static Connection getConnection()
{
String url = "jdbc:mysql://localhost:3306/mysql";
String username = "root";
String password = "root";
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url,username,password);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
}
return con;
}

ycxjeremy
ycxjeremy 回复ksgt950817: 我是从我运行的代码上复制下来的,你先看看你的服务有没有起,数据库对不对,还有驱动jar包
大约 3 年之前 回复
ksgt950817
ksgt950817 代码有错误啊
大约 3 年之前 回复

最好看下你的本机地址,数据库服务有没有开启,还有就是驱动jar包

ksgt950817
ksgt950817 能telnet通 也能用数据库管理工具连接,就是用代码连不上
大约 3 年之前 回复

你虚拟机上的防火墙关闭了吗,还不行就装个sp3补丁试试

ksgt950817
ksgt950817 回复奔跑的小鱼儿: 关了也不行
大约 3 年之前 回复
welan123123
奔跑的小鱼儿 回复ksgt950817: 要关掉啊
大约 3 年之前 回复
ksgt950817
ksgt950817 可以telnet通3306 好像不用关防火墙吧 我把端口开开了
大约 3 年之前 回复

你配置的数据库连接串中的 root用户密码不正确 你更换一下

ksgt950817
ksgt950817 密码确实是对的啊。。。
大约 3 年之前 回复

using password:YES 密码不正确 遇到过同样的问题

你的报错信息显示的ip和你代码里的ip貌似不太一致啊

ksgt950817
ksgt950817 显示不全问题 实际没错
大约 3 年之前 回复

到mysql服务器上,进入mysql/bin目录,执行命令
./mysql -u root -p #用root用户登录,如果是刚装好的,密码为空
use mysql #进入mysql表
update mysql.user set authentication_string=password('123456') where user='root'; #修改密码,xxx处设置自己的密码_
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'xxx' WITH GRANT OPTION; #允许root远程访问权限,xxx处是自己设置的密码
FLUSH PRIVILEGES; #使配置生效
使用修改后的密码登录

wangb_java
free_java 回复ksgt950817: 看你使用的my.cnf配置文件,里面有没有skip-grant-tables,删除,重启mysql,不加skip-grant-tables参数
大约 3 年之前 回复
ksgt950817
ksgt950817 之前就试过了。。。不行
大约 3 年之前 回复

上面的123456和xxx处都改成你自己设的密码,

1.看看jar包合不合适
2.在链接处加上?useUnicode=true&characterEncoding=utf-8
3.用户名密码都写数据库的

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问