解决方法之报错:java.sql.SQLException: Access denied for user ‘root‘@‘192.168.100.1‘ (using password: YES)

    技术2022-07-11  104

    在用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); } }

    运行成功截图:

    Processed: 0.009, SQL: 9