Я занимаюсь разработкой базового приложения, которое уже работает с Hibernate, и хотел бы добавить возможности Spring JPA, чтобы сделать его более простым.
Когда я тестирую с помощью Hibernate, я могу подключиться к базе данных MySQL без каких-либопроблемы.Но когда я тестирую приложение из весенней загрузки, доступ к базе данных не удается.Я дал одинаковые учетные данные в hibernate.cfg.xml и application.properties.Но не уверен, почему пружинный доступ не работает.
Я попытался предоставить привилегии пользователю.Но все еще не работает.
GRANT ALL PRIVILEGES ON *.* TO 'logesh'@'localhost' WITH GRANT OPTION;
hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/devops</property>
<property name="hibernate.connection.username">logesh</property>
<property name="hibernate.connection.password">logesh</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hbm2ddl.auto">create</property>
<property name="hibernate.show_sql">true</property>
application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/devops
spring.datasource.username=logesh
spring.datasource.password=logesh
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform = org.hibernate.dialect.MySQL5Dialect
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = create
Ниже приведена ошибка, которую я получаю для весенней загрузки:
java.sql.SQLException: Access denied for user 'logesh'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:136) ~[HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369) ~[HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198) ~[HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:467) [HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:541) [HikariCP-3.2.0.jar:na]
Ниже приведен общий журнал MySQL, в котором мы видим, что вход в систему при весенней загрузке завершился неудачно.Впоследствии при попытке перехода в спящий режим он может войти в систему.
2018-12-09T12:48:52.494621Z 150 Connect logesh@localhost on devops using SSL/TLS
2018-12-09T12:48:52.494773Z 150 Connect Access denied for user 'logesh'@'localhost' (using password: YES)
2018-12-09T12:48:54.243711Z 151 Connect logesh@localhost on devops using SSL/TLS
2018-12-09T12:48:54.243881Z 151 Connect Access denied for user 'logesh'@'localhost' (using password: YES)
2018-12-09T12:48:56.328126Z 152 Connect logesh@localhost on devops using SSL/TLS
2018-12-09T12:48:56.328291Z 152 Connect Access denied for user 'logesh'@'localhost' (using password: YES)
2018-12-09T13:10:46.485311Z 153 Connect root@localhost on devops using SSL/TLS
2018-12-09T13:10:46.486314Z 153 Query select @@version_comment limit 1
2018-12-09T13:11:07.220308Z 153 Quit
2018-12-09T13:12:52.763898Z 154 Connect logesh@localhost on devops using SSL/TLS
2018-12-09T13:12:52.764643Z 154 Query select @@version_comment limit 1
2018-12-09T13:13:15.186763Z 154 Quit
2018-12-09T13:27:57.857455Z 155 Connect logesh@localhost on devops using SSL/TLS
2018-12-09T13:27:57.861872Z 155 Query /* mysql-connector-java-8.0.13 (Revision: 66459e9d39c8fd09767992bc592acd2053279be6) */SELECT @@session.auto_increment_increment AS auto_increment_increment, @@character_set_client AS character_set_client, @@character_set_connection AS character_set_connection, @@character_set_results AS character_set_results, @@character_set_server AS character_set_server, @@collation_server AS collation_server, @@collation_connection AS collation_connection, @@init_connect AS init_connect, @@interactive_timeout AS interactive_timeout, @@license AS license, @@lower_case_table_names AS lower_case_table_names, @@max_allowed_packet AS max_allowed_packet, @@net_write_timeout AS net_write_timeout, @@sql_mode AS sql_mode, @@system_time_zone AS system_time_zone, @@time_zone AS time_zone, @@transaction_isolation AS transaction_isolation, @@wait_timeout AS wait_timeout
2018-12-09T13:27:57.877332Z 155 Query SET NAMES utf8mb4
Я застрял здесь, и любая помощь будет признательна.
Ответ на комментарий:
mysql> GRANT ALL PRIVILEGES ON . TO 'logesh'@'localhost' IDENTIFIED BY '%logesh%' WITH GRANT OPTION;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '. TO 'logesh'@'localhost' IDENTIFIED BY '%logesh%' WITH GRANT OPTION' at line 1
mysql> GRANT ALL PRIVILEGES ON *.* TO 'logesh'@'localhost' IDENTIFIED BY '%logesh%' WITH GRANT OPTION;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY '%logesh%' WITH GRANT OPTION' at line 1
mysql> GRANT ALL PRIVILEGES ON *.* TO 'logesh'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)
Я мог выполнить только третью команду, которую я уже пробовал.
Редактировать: Этот вопрос не является дубликатом Java JDBC Доступ запрещен для пользователя , так как яперепробовал все решения, рекомендованные там, до публикации этого вопроса.