java 破解mysql数据库密码错误,关于mysql:java.sql.SQLException:用户’root’@’172.17.0.1’的访问被拒绝(使用密码:是)...
我正在尝试从Java写入mysql数据库,但出现此错误:
java.sql.SQLException: Access denied for user 'root'@'172.17.0.1' (using password: YES)
我正在连接到本地mysql实例,说实话我不知道172.17.0.1 ip是什么。
我写的小代码:
public static void writeToDB(String value, String unit) throws ClassNotFoundException, SQLException, SQLException
{
// create a mysql database connection
String myDriver ="com.mysql.cj.jdbc.Driver";
String myUrl ="jdbc:mysql://localhost:3306/MyDB";
Class.forName(myDriver);
Connection conn = null;
conn = DriverManager.getConnection(myUrl,"root","MyPass");
// the mysql insert statement
String query =" insert into data (unit, value)"
+" values (?, ?)";
// create the mysql insert preparedstatement
PreparedStatement preparedStmt = null;
preparedStmt = conn.prepareStatement(query);
preparedStmt.setString (1, unit);
preparedStmt.setString (2, value);
// execute the preparedstatement
preparedStmt.execute();
conn.close();
}
我跑了
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPass' WITH GRANT OPTION;
但什么都没有改变。
我的my.cnf全部被注释掉了。
我的本地IP是192.168.1.46。 我尝试在myUrl变量上使用此ip和127.0.0.1代替localhost,但未进行任何更改。
我重新启动了mysql服务器,eclipse和pc,但未成功。
编辑:其他信息
我停止了服务器并运行了代码。 我得到完全相同的例外。 我想我根本无法到达服务器。
我可以在Python脚本中使用" localhost"。 它与Java代码写在同一张表上。
你能检查这个解决方案stackoverflow.com/a/11922393/227775
@dasrohith我已经尝试过了,但是没有解决我的问题
您是否尝试过IP或locahost?
@dasrohith是的,我尝试了localhost,127.0.0.1,我的本地IP和该异常显示的IP(我无法识别)。 还是没有运气
执行冲洗特权; 授予所有特权之后
谢谢,但是没有用
你检查过这个答案了吗? 请看看这个stackoverflow.com/a/32288517/227775
@dasrohith我尝试过id。 我有许多root用户(我尝试过的所有IP和通配符)。 我删除了剩下的广告,它们只包含root @ 127.0.0.1,localhost,%通配符和172.17.0.1(异常的IP)。 我还运行了FLUSH PRIVILEGES; 仍然没有任何更改。.当然,它将立即起作用,将删除通配符,并且将不使用root。 我不知道您是否看到了我的编辑,但可以使用Python进行连接
如果Docker自身无法连接自己的云帐户(Feuerwall,登录问题等),则在本地Docker中与DB连接时也会出现相同的错误。
我通过关闭Docker服务器解决了这个问题。
我将它用于另一个项目,但我完全忘记了它。 仍然不确定为什么会出现错误,是的,我运行了一个Mysql容器,但是不在本地主机上。
很高兴知道它有效。 但仍在思考如何解决您的问题。 :)
更多推荐
所有评论(0)