Grails 3.3.5 e conexão com MySQL
15/06/2018 09:45
0
Estou utilizando as seguintes instalações: 
Grails Version: 3.3.5
Groovy Version: 2.4.15
JVM Version: 1.8.0_161

Criei meu datasource no application.yml conforme abaixo: 
dataSource:
pooled: true
jmxExport: true
driverClassName: "com.mysql.jdbc.Driver"
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
initialSize: 5
maxActive: 50
minIdle: 5
maxIdle: 25
maxWait: 10000
maxAge: 600000
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 60000
validationQuery: SELECT 1
validationQueryTimeout: 3
validationInterval: 15000
testOnBorrow: true
testWhileIdle: true
testOnReturn: false
jdbcInterceptors: ConnectionState
defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED

environments:
development:
dataSource:
dbCreate: create
url: jdbc:mysql://localhost/db?autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8
properties:
username: "root"
password: ""
defaultTransactionIsolation: java.sql.Connection.TRANSACTION_READ_COMMITTED

Porém estou recebendo o seguinte erro ao executar: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'db'

O banco existe no MySQL, já realizei a grant e o problema continua. Confirmei a conexão jdbc em outra aplicação e está correta.
Tags: Grails, MySQL, application.yml


0
Depois de verificar a documentação do Grails, descobri que o problema estava na senha vazia do MySQL. Sabendo disso alterei a configuração conforme abaixo e funcionou:
dataSource:
pooled: true
jmxExport: true
driverClassName: com.mysql.jdbc.Driver
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
url: jdbc:mysql://localhost/serfixdb?useUnicode=true&characterEncoding=UTF-8
dbCreate: update
initialSize: 5
maxActive: 50
minIdle: 5
maxIdle: 25
maxWait: 10000
maxAge: 600000
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 60000
validationQuery: SELECT 1
validationQueryTimeout: 3
validationInterval: 15000
testOnBorrow: true
testWhileIdle: true
testOnReturn: false
jdbcInterceptors: ConnectionState
defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED
---
environments:
development:
dataSource:
username: root
password: ''
test:
dataSource:
dbCreate: create-drop
url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
properties:
pooled: true
jmxExport: true
driverClassName: org.h2.Driver
username: sa
password: ''

production:
dataSource:
username: root
password: ''
properties:
pooled: true
jmxEnabled: false
initialSize: 5
maxActive: 50
minIdle: 5
maxIdle: 25
maxWait: 10000
maxAge: 600000
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 60000
validationQuery: SELECT 1
validationQueryTimeout: 3
validationInterval: 15000
testOnBorrow: true
testWhileIdle: true
testOnReturn: false
ignoreExceptionOnPreLoad: true
jdbcInterceptors: "ConnectionState;StatementCache(max=200)"
defaultTransactionIsolation: java.sql.Connection.TRANSACTION_READ_COMMITTED
abandonWhenPercentageFull: 100
removeAbandonedTimeout: 120
removeAbandoned: true
logAbandoned: false
15/06/2018 10:40



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto