Chciałbym połączyć się z moją lokalną bazą danych MYSQL, która jest instalowana wraz z serwerem XAMP. Stworzyłem nowego Użytkownika tj. "NewUser", a jego hasło to "hasło". Dałem wszystkim ZASTRZEŻENIA temu użytkownikowi.Odmowa dostępu dla użytkownika root '@' localhost '(przy użyciu hasła: TAK)
Piszę kod, aby połączyć się z bazą danych za pomocą użytkownika "root" (brak hasła dla tego użytkownika). Jest połączony. Jak poniżej ..
return DriverManager.getConnection("jdbc:MySql://localhost/database_name","root","");
Teraz Napisałem kod, aby połączyć się z tej samej bazy danych przez innego użytkownika IE „newuser” i jego pasword „hasło”
return DriverManager.getConnection("jdbc:MySql://localhost/database_name","NewUser","password");
ale nie jest podłączony. Błąd w konsoli jest
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)
daję typ hosta, zapewniając jednocześnie uprawnienia do tego użytkownika, jak „każdy gospodarz” tj. „%”.
Jeśli zmienię to na "localhost" lub "127.0.0.1" jego działanie.
Więc w jaki sposób mogę używać mojej bazy danych z "Dowolnymi" przywilejami dla konkretnego użytkownika, takiego jak "NewUser".
Jeśli mam powodzenie tutaj potem sukcesy w połączeniu z klientem bazy danych na żywo ..
Dzięki dla wszystkich i proszę dać mi z tym jednym .....
Czy można połączyć się z konsoli za pomocą 'mysql -u NewUser -h localhost -p'? – Sal00m