Netbeans 和 mysql 通信
Posted
技术标签:
【中文标题】Netbeans 和 mysql 通信【英文标题】:Netbeans and mysql communication 【发布时间】:2015-06-29 12:18:41 【问题描述】:我为我们公司创建了一个应用程序。起初,我尝试在 mysql-xampp 中的数据库上创建无密码,它工作正常。现在我的问题是我在我的数据库上输入了密码,而我的应用程序现在每次登录时都会向我抛出这个错误:
SQL java.sql.SQLException: 拒绝用户访问 'root'@'CITSP-MOB7'(使用密码:YES)
我在连接数据库时也遇到错误:
无法连接。无法建立连接到 jdbc:mysql//localhost:3306/mydb 使用 com.mysql.jdbc.Driver (访问 拒绝用户'root'@'CITSP-MOB7'(使用密码:YES))。
这是我的数据库连接代码:
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://192.168.1.112:3306/citsp";
static final String USER = "root";
static final String PASS = "mypassword";
try
Class.forName("com.mysql.jdbc.Driver");
catch(ClassNotFoundException ex)
//STEP 3: Open a connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
有人可以帮我解决连接问题吗? 您的回答将不胜感激。提前致谢! :)
【问题讨论】:
您在数据库中设置了密码,并让您的应用程序知道它应该在访问之前知道密码。请发布您的 java 代码 [仅连接到 mysql 部分] 首先,您应该设置一个单独的用户而不是root。 嗨@Subrata Dey,这是我的代码:static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";静态最终字符串 DB_URL = "jdbc:mysql://localhost:3306/citsp";静态最终字符串用户=“根”; static final String PASS = "mypassword"; 对不起,我是新手。我不知道如何输入(换行符),每当我按回车时,它都会提交我的评论。 嗨@AdamB,你的意思是我必须创建一个新用户吗?真的有必要吗?请解释。谢谢 【参考方案1】:如果这对你有用,请测试在 mysql 中创建一个新用户。
首先在mysql中新建一个用户: 以 root 身份从 mysql 命令行登录。然后一一运行以下命令。
MySQL
创建用户 'mydbuser'@'localhost' 由 'asdf' 识别;
将所有权限授予 . 到 'mydbuser'@'localhost' ;
刷新特权;
将上面的 java 代码更改为以下内容: 我假设您的数据库名称是 'citsp'
JAVA
String JDBC_DRIVER = "com.mysql.jdbc.Driver";
String DB_URL = "jdbc:mysql://localhost/citsp";
String USER = "mydbuser";
String PASS = "asdf";
try
Class.forName("com.mysql.jdbc.Driver");
catch (ClassNotFoundException ex)
//JOptionPane.showMessageDialog(null, "There's an error connecting with the database. Please contact your administrator.");
//STEP 3: Open a connection
System.out.println("Connecting to database...");
java.sql.Connection conn = null;
try
conn = DriverManager.getConnection(DB_URL, USER, PASS);
catch (SQLException ex)
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
ex.printStackTrace();
//STEP 4: Execute a query
System.out.println("Creating statement...");
try
Statement stmt = conn.createStatement();
String query = "";
ResultSet rs = stmt.executeQuery(query);
while(rs.next())
// Iterate through the result
catch (SQLException ex)
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
【讨论】:
它仍然没有解决我的问题。但真的很感谢你的帮助。 @nhix,您是否能够按照给定的命令在 mysql 中创建新用户?您现在收到什么错误消息? 是的,我已经能够使用您给出的命令创建一个新用户。同样的错误,root 刚刚更改为 mydbuser。 :( @nhix,我已经让它在我身边工作了。您是否也授予并刷新了特权?您是否在 java 部分进行了所有必要的更改? 是的!非常感谢! :)以上是关于Netbeans 和 mysql 通信的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在使用 Java (Netbeans) 连接到 MySQL 时收到此错误“通信链接失败最后发送的数据包...”? [复制]
使用 netbeans 用 libcgicc.a 编译 c++
我在 NetBeans 中看不到或编辑 MySQL 存储过程