Tôi muốn kết nối với cơ sở dữ liệu MYSQL cục bộ của mình, được cài đặt cùng với máy chủ XAMP. Tôi đã tạo một User mới, "NewUser" và mật khẩu của nó là "password". Tôi đã cung cấp tất cả các đặc quyền cho người dùng này.Truy cập bị từ chối đối với User 'root' @ 'localhost' (sử dụng mật khẩu: YES)
Tôi viết mã để kết nối với cơ sở dữ liệu bằng cách sử dụng người dùng "root" (Không có mật khẩu cho người dùng này). Kết nối của nó. Giống như dưới đây ..
return DriverManager.getConnection("jdbc:MySql://localhost/database_name","root","");
Bây giờ tôi đã viết code để kết nối với cơ sở dữ liệu giống nhau bởi một người dùng khác ví dụ, "newuser" và pasword "password" của nó
return DriverManager.getConnection("jdbc:MySql://localhost/database_name","NewUser","password");
nhưng nó không được kết nối. Các lỗi trong giao diện điều khiển là
java.sql.SQLException: Access denied for user 'NewUser'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1704)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1250)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2465)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2498)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.GeneratedConstructorAccessor207.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.createConnection(JDBCConnection.java:214)
at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105)
at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:73)
at org.eclipse.datatools.enablement.internal.mysql.connection.JDBCMySQLConnectionFactory.createConnection(JDBCMySQLConnectionFactory.java:28)
at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359)
at org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76)
at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
tôi cung cấp cho các loại máy chủ trong khi cung cấp đặc quyền cho thành viên này, như "bất kỳ máy chủ" tức là. "%".
Nếu tôi thay đổi điều này thành "localhost" hoặc "127.0.0.1" hoạt động của nó.
Vậy làm cách nào tôi có thể sử dụng cơ sở dữ liệu của mình với các đặc quyền "anyhost" cho người dùng cụ thể như "Người dùng mới".
Nếu tôi đã thành công ở đây thì tôi thành công trong mối liên hệ với khách hàng cơ sở dữ liệu trực tiếp ..
Nhờ tất cả và xin vui lòng cho tôi ra khỏi cái này .....
Bạn có thể kết nối từ bảng điều khiển bằng 'mysql -u NewUser -h localhost -p' không? – Sal00m