我将所有授予权限都授予了我的root用户和其他用户。
但仍然无法正常工作。
那是
拒绝用户'root'@'localhost'的访问(使用密码:否)
除了用户名外,其他所有方式相同。
我正在使用mac os,并蚀掉了新的。
这是我的代码。
我已经为每个用户帐户提供了赠款。
然后我为新尝试创建了新用户。
我什至为新的环境创建了新的数据库。
package db_2019_2_1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Select {
public static void main(String[] args) {
String driver = "org.mariadb.jdbc.Dirver";
Connection conn;
String url = "jdbc:mariadb://127.0.0.1:3306/exercise";
String user = "root";
String pw = "root password";
try {
Class.forName(driver);
}catch(ClassNotFoundException e) {
System.out.println("failed");
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(url, user, pw);
if(conn != null) {
System.out.println("done");
}
}catch(SQLException e){
System.out.println("failed db");
e.printStackTrace();
}
}
}
失败
java.lang.ClassNotFoundException:org.mariadb.jdbc.Dirver
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at db_2019_2_1.Select.main(Select.java:15)
java.sql.SQLInvalidAuthorizationSpecException:用户'root'@'localhost'的访问被拒绝(使用密码:NO)
数据库失败
at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:238)
at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:171)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1132)
at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:620)
at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:175)
at org.mariadb.jdbc.Driver.connect(Driver.java:92)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at db_2019_2_1.Select.main(Select.java:21)
原因:java.sql.SQLException:用户'root'@'localhost'的访问被拒绝(使用密码:NO)
当前字符集为UTF-8。如果使用其他字符集设置了密码,请考虑使用选项'passwordCharacterEncoding'
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.authentication(AbstractConnectProtocol.java:852)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:757)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:415)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1128)
... 6 more