Команда SELECT запрещена пользователю '<userid>' @ '«за столом»' - PullRequest
0 голосов
/ 25 июня 2019

Я получаю эту ошибку, когда использую post man для получения ответа от моего API.

   java.sql.SQLSyntaxErrorException: SELECT command denied to user '<userid>'@'<my-pc-ip-address>' for table '<table-name>'
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.16.jar:8.0.16]

, но я могу отлично использовать SELECT Statement в Workbench с тем же пользователем.

application.properties

spring.datasource.url = jdbc:mysql://<database.ip>:3306/<database.schema>
spring.datasource.username = test
spring.datasource.password = test123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

Я пытаюсь использовать учетную запись root, но получаю эту ошибку

java.sql.SQLSyntaxErrorException : Unknown database '<db_name>'

Я могу решить эту проблему с помощью этого

  1. заменить

@ Table (table = "tablename") вместо

@ Table (table = "tablename", catalog = "catalogname" схема)

поместите эту вещь в application.properties

spring.jpa.hibernate.naming.physical-стратегии = org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Как говорит Саймон выше, пользователь «test» не имеет необходимых прав для выполнения операции «SELECT».

0 голосов
/ 26 июня 2019

Пользователь "test" не имеет доступа к базе данных.

Вы должны предоставить это сначала

Пожалуйста, найдите команду grant в руководстве https://dev.mysql.com/doc/refman/8.0/en/grant.html

...