我下载了mysql,安装完,不过这个mysql只是有个终端窗口操作,没有像网上一些教程里面有界面的。然后找了个用java创建数据库的源码,套到eclipse里面,第一次编译不通过,提示是ClassNotFound违例~到网上一查,说是缺个mysql-connector-java-5.1.3-rc-bin.jar,于是又去下载了这个jar包,在java build path中加进了外部jar包里,然后编译以下这个文件:import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;/**
* @author Banny
* @version 1.0, 2006-11-14
*
*/
public class ConnectToMysql {/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO 自动生成方法存根
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://test", "root", "850128");
PreparedStatement ps = conn.prepareStatement("CREATE DATABASE test1");
ps.executeUpdate();
ps.close();
conn.close();
}}编译无法通过,错误如下,不知道为什么,试了一个上午了~请教高手
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureLast packet sent to the server was 0 ms ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:720)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:293)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ConnectToMysql.main(ConnectToMysql.java:18)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:274)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1987)
... 12 more

解决方案 »

  1.   

    Communications link failure ,没连接成功
    你想有界面可以装个客户端工具啊,比如navicat什么的。
      

  2.   

    感觉你杀鸡有牛刀啊
    用cmd窗口很简单的:D:\>mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 11 to server version: 5.0.27-community-nt-logType 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> create database test1;
    Query OK, 1 row affected (0.02 sec)mysql> show databases like '%test1%';
    +--------------------+
    | Database (%test1%) |
    +--------------------+
    | test1              |
    +--------------------+
    1 row in set (0.00 sec)mysql>
      

  3.   

    你要图形操作窗口的话:
    mysql 官方GUI;NAVICAT;PHPMYADMIN;MYSQL-FONT;TOAL FOR MYSQL等等...
      

  4.   

    Connection conn = DriverManager.getConnection("jdbc:mysql://test", "root", "850128");
    这里有错误jdbc:mysql://test;你试试jdbc:mysql://127.0.0.1:3306/test
      

  5.   

    首先楼主做的web开发,楼上的兄弟们没搞明白啊?
    那么java程序运行就需要驱动,那个connector
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 
    这个错误显然LZ已经把jar包加入了类路径中。只是链接除了问题:
    方法解决:
    检查你链接语句,
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "850128");
    PreparedStatement ps = conn.prepareStatement("CREATE DATABASE test1");
    ps.executeUpdate();
    ps.close();
    conn.close();
    }
      

  6.   

    嗯,我在加入这段代码前是不是先得要在client中创建出那个数据库文件出来啊?我不知道这样问是不是有点白痴,因为我以为我抄的那段代码可以直接创建出数据库出来了。不过仔细一看那段代码的意思应该是把创建好的数据库test里面的内容复制进test1去,是吧?那如果用java直接创建数据库有办法吗?或许不需要这样?我今天才接触的数据库内容~
      

  7.   

    我创建了数据库文件夹,就是空白的test里面一个db.opt文件。
    然后用下面代码创建表,import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;/**
    * @author Banny
    * @version 1.0, 2006-11-14
    *
    */
    public class ConnectToMysql {/**
    * @param args
    */
    public static void main(String[] args) throws Exception {
    // TODO 自动生成方法存根
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/abccs"); String sql = "CREATE TABLE tableName (id int not null, name varchar(20) not null, age int null, primary key (id));"; PreparedStatement pstmt = conn.prepareStatement(sql);
    pstmt.executeUpdate(); }}
    然后就好像是拒绝localhost进入的错误提示
    Exception in thread "main" java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3378)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3310)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3810)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1272)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1992)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:720)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:293)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at ConnectToMysql.main(ConnectToMysql.java:18)
      

  8.   

    嗯,这样是可以创建的~~但是上面编译错误是因为没有权限~只要输入用户名root和密码就OK了~~~一整天就弄这玩意,真他妈的累~
      

  9.   


    建议直接使用那个mysql.exe的命令工具。
    当然你也可以下载MYSQL官方的GUI工具。
    http://dev.mysql.com/downloads/gui-tools/5.0.html