在用Eclipse链接虚拟机里的mysql时出现了下面这个bug:
java.sql.SQLException: Access denied for user 'root'@'192.168.100.1' (using password: YES)解决方法:
1、检查用户名密码是否出现错误
2、权限问题,增加用户所有权限
赋予所有权限使用:all privileges 。
格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by “用户密码”;
grant all privileges on *.* to root@"%" identified by "123456";然后查看mysql.user是否添加成功:
select user,host,password from mysql.user;操作如图所示:
若授权出错,可尝试:
# 使用mysql 数据库 mysql > use mysql; # 特定用户的host 修改 mysql > update user set host='%' where user='root'; # 指定用户的授权 mysql > grant all privileges on test.* to root@'%'附Eclipse链接mysql代码:
package com.sso.cn.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import org.junit.Test; public class Conn { private Connection conn; public Conn() { try { Class.forName("com.mysql.jdbc.Driver"); try { conn = (Connection)DriverManager.getConnection("jdbc:mysql://192.168.100.11:3306/redis","root","123456"); System.out.println("连接成功"); } catch (SQLException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } } @Test public void test(){ Conn conn = new Conn(); System.out.println(conn); } }运行成功截图: