【求助】还是连不上mysql

c00der 2008-02-03 02:19:37
一个小测试程序

public class test {

public static void main(String args[]) {
try {
/* Test loading driver */
String driver = "com.mysql.jdbc.Driver";

System.out.println( "=> loading driver:" );
Class.forName( driver ).newInstance();
System.out.println( "OK" );

/* Test the connection */
String url = "jdbc:mysql://localhost:3306/coffeebreak";//请问这个端口号用不用写?应该是多少?

System.out.println( "=> connecting:" );

java.sql.DriverManager.getConnection(url, "root", "pass" );

System.out.println( "OK" );
}
catch( Exception x ) {
x.printStackTrace();
}
}
}


驱动可以加载成功,连接时提示异常:

Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.ja
va:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2027)
... 12 more

请问是什么原因啊?
多谢
...全文
103 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
c00der 2008-02-03
  • 打赏
  • 举报
回复
不知道为什么端口被改成3307了。。。奇怪啊
算了,不纠结了。。。发分
zdblzwj 2008-02-03
  • 打赏
  • 举报
回复
恭喜楼主问题解决了
共同讨论,共同学习
phsyf 2008-02-03
  • 打赏
  • 举报
回复
我这边是可以运行的呀
c00der 2008-02-03
  • 打赏
  • 举报
回复
晕 果然是端口号不对 竟然是 3307 ??我没记着改过啊。。。
多谢bao110908兄 了
shili150 2008-02-03
  • 打赏
  • 举报
回复
你把驱动改成 org.jgt.mm.mysql.Driver试试
phsyf 2008-02-03
  • 打赏
  • 举报
回复
我还是觉得newInstance很奇怪,要不删掉试一试?
  • 打赏
  • 举报
回复
可能是由于MySQL的端口号被改动过。

找到MySQL的安装目录,打开my.ini文件,找到[mysqld]组,看看port的值是否是3306,
若不是将代码中的端口更改再试试看。

端口为3306时,端口号可以省略。
c00der 2008-02-03
  • 打赏
  • 举报
回复
数据库没有问题
请问程序改如何修改啊?
thx
phsyf 2008-02-03
  • 打赏
  • 举报
回复
你先在命令提示符下打入:
mysql -u root -p
然后是打入pssword试试,要是能进数据库的话,数据库就没问题
进入以后输入
use coffeebreak
看能不能进这个数据库,
要是这些都没问题的话,那只能是程序这边出错了
ranshaoweng 2008-02-03
  • 打赏
  • 举报
回复
写法是正确的吧,好像是MYSQL服务没启动
phsyf 2008-02-03
  • 打赏
  • 举报
回复
Class.forName( driver ).newInstance();
这个我觉得很奇怪。。。
要.newInstance()干什么的,我没见过用这个的。
还有要确保MySQL这个服务是开着的
liulcster 2008-02-03
  • 打赏
  • 举报
回复

cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );

你看看你的MYSQL数据库用你设置的参数能不能登进去,会不会数据库你输入的这些参数有问题呀

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧