用户'root'@'localhost'的访问被拒绝(使用密码:否).. plz

时间:2019-11-07 12:09:16

标签: java mysql eclipse jdbc mariadb

我将所有授予权限都授予了我的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

0 个答案:

没有答案