我下载了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
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
你想有界面可以装个客户端工具啊,比如navicat什么的。
用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>
mysql 官方GUI;NAVICAT;PHPMYADMIN;MYSQL-FONT;TOAL FOR MYSQL等等...
这里有错误jdbc:mysql://test;你试试jdbc:mysql://127.0.0.1:3306/test
那么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();
}
然后用下面代码创建表,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)
建议直接使用那个mysql.exe的命令工具。
当然你也可以下载MYSQL官方的GUI工具。
http://dev.mysql.com/downloads/gui-tools/5.0.html