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

运行成功截图:
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐