在生产模式下运行播放框架时出错

问题描述 投票:0回答:1

从dist运行生产时出现错误,但是它在具有开发模式和相同DB的同一系统中工作。

sudo ./sampleapp -Dhttp.port=9010  -J-Xms128M -J-Xmx512m -J-server

密码:[信息]应用程序-为数据源“默认”创建池[错误] czhpHikariPool-HikariPool-1-池初始化期间发生异常。 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:拒绝用户``@'localhost'访问sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法)上的数据库arisetec_ftalent,位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl。 java:62)位于sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)位于com.mysql.jdbc.Util.handleNewInstance(Util.java)的java.lang.reflect.Constructor.newInstance(Constructor.java:423) :411)com.mysql.jdbc.Util.getInstance(Util.java:386)com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO。 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)上com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943)上的[info]应用程序-为数据源“默认”创建池[错误] czhpHikariPool-HikariPool-2-池初始化期间发生异常。 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:拒绝用户``@'localhost'访问sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法)上的数据库arisetec_ftalent,位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl。 java:62)位于sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)位于com.mysql.jdbc.Util.handleNewInstance(Util.java)的java.lang.reflect.Constructor.newInstance(Constructor.java:423) :411)com.mysql.jdbc.Util.getInstance(Util.java:386)com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO。 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)上com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943)上的糟糕,无法启动服务器。 配置错误:play.api.Configuration $ .configError(Configuration.scala:155)在play.api.Configuration.reportError(Configuration.scala:984)处发生配置错误[无法连接到数据库[默认]]。 db.DefaultDBApi。$ anonfun $ connect $ 1(DefaultDBApi.scala:48)在play.api.db.DefaultDBApi。$ anonfun $ connect $ 1 $ adapted(DefaultDBApi.scala:42)在scala.collection.immutable.List.foreach( List.scala:389)在play.api.db.DefaultDBApi.connect(DefaultDBApi.scala:42)在play.api.db.DBApiProvider.get $ lzycompute(DBModule.scala:86)在play.api.db.DBApiProvider在play.api.db.DBApiProvider.get(DBModule.scala:56)处的com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)处的.get(DBModule.scala:75)。位于com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)的com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactor的inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72) com.google.inject.internal.SingleParameterInjector.inject(y.java:62)com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)com.google.inject com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)上的.internal.ConstructorInjector.provision(ConstructorInjector.java:110),com.google.inject.internal.ConstructorBindingImpl $ Factory.get(ConstructorBindingImpl.java :268),位于com.google.inject.internal.ProviderToInternalFactoryAdapter $ 1.call(ProviderToInternalFactoryAdapter.java:46),位于com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092),位于com.google.inject.internal .ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)在com.google.inject.internal.SingletonScope $ 1.get(SingletonScope.java:194)在com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)在com.google.inject.internal.Factory com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)上com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)上的Proxy.get(FactoryProxy.java:56) com.google.inject.internal.MembersInjectorImpl $ 1.call(MembersInjectorImpl.java:80)上com.google.inject.internal.MembersInjectorImpl $ 1.call(MembersInjectorImpl.java:80)com.google.inject.internal.InjectorImpl.callInContext (com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)的com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:62)的(InjectorImpl.java:1092)。 com.google.inject.util.Providers $ GuicifiedProviderWithDependencies.initialize(Providers.java:149)处com.google.inject.util.Providers $ GuicifiedProviderWithDependencies $$ FastClassByGuice处的inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:987) $$ 2a7177aa.invoke(),位于com.google.inject.internal.SingleMethodInjector $ 1.invoke (com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:89)的com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)的(SingleMethodInjector.java:54)。 com.google.inject.internal.MembersInjectorImpl $ 1.call(MembersInjectorImpl.java:80)上com.google.inject.internal.Inject.Impl.callInContext(InjectorImpl.inject.internal.MembersInjectorImpl $ 1.call(MembersInjectorImpl.java:93) com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)处com.google.inject.internal.Initializer $ InjectableReference.get(Initializer.java:223)处的java:1085) com.google.inject.internal.Internal.Internal.Internal.InitializerCreator.build(InternalInjectorCreator.java:174)的com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:174)的.internal.Initializer.injectAll(Initializer.java:132) ),网址为com.google.inject.Guice.createInjector(Guice.java:99)。 在play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:185)处的Guice.createInjector(Guice.java:84)在play.inject.guice.GuiceBuilder.injector(GuiceBuilder.java:221)处的。在play.api.ApplicationLoader $ JavaApplicationLoaderAdapter $ 1.load(ApplicationLoader.scala:87)上的inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.java:156)在模块上.LogSdtErrLoader.load(LogSdtErrLoader.java:29)在play.core上。在play.core.server.ProdServerStart $ .main(ProdServerStart.scala:25)在play.core.server.ProdServerStart $ .start(ProdServerStart.scala:50)在play.core.server.ProdServerStart $ .start(ProdServerStart.scala:25)原因:配置错误:配置错误[无法初始化池:拒绝用户'@'localhost'访问play.api.Configuration $ .configError(Configuration.scala:155)到数据库'arisetec_ftalent'],位于play.api.Configuration.reportError (play.api.db.HikariCPConnectionPool.create(Configuration.scala:984)在play.api.db.PooledDatabase.creat(HikariCPModule.scala:63) 在play.api.db.DefaultDatabase.dataSource处的eDataSource(Databases.scala:199)在play.api.db.DefaultDatabase.dataSource(Databases.scala:121)处的lzycompute(Databases.scala:123)在play.api.db处在play.api.db.DefaultDatabase.getConnection(Databases.scala:138)处的.DefaultDatabase.getConnection(Databases.scala:142)在play.api.db.DefaultDBApi。$ anonfun $ connect $ 1(DefaultDBApi.scala:44)处的。 .. 52更多原因:com.zaxxer.hikari.pool.HikariPool $ PoolInitializationException:无法初始化池:拒绝用户“ @'localhost”访问com.zaxxer.hikari.pool.HikariPool中的数据库“ arisetec_ftalent”。 com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:535)位于com.zaxxer.hikari.pool.HikariPool。(HikariPool.java:111)位于com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:535) hikari.HikariDataSource。(HikariDataSource.java:72)在play.api.db.HikariCPConnectionPool。$ anonfun $ create $ 1(HikariCPModule.scala:51)在scala.util.Try $ .apply(Try.scala:209) .api.db.HikariCPConnectionPool。 create(HikariCPModule.scala:47)... 58更多原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:拒绝用户``@'localhost'访问sun.reflect.NativeConstructorAccessorImpl数据库'arisetec_ftalent'。 java.lang.reflect.Constructor.newInstance(Constructor.java :)上的sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)上的newInstance0(Native方法) 423)位于com.mysql.jdbc.Util.handleNewInstance(Util.java:411)位于com.mysql.jdbc.Util.getInstance(Util.java:386)位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java :1052)在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO。 com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4113)处com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1308)处 om.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2336)位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369)位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)在com.mysql.jdbc.ConnectionImpl。(ConnectionImpl.java:792)在com.mysql.jdbc.JDBC4Connection。(JDBC4Connection.java:47)在sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)在sun.reflect.NativeConstructorAccessorImpl com.mysql.jdbc.Util上的java.lang.reflect.Constructor.newInstance(Constructor.java:423)上的.newInstance(NativeConstructorAccessorImpl.java:62)在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)处。 com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)上的com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)上的com.zaxxer.hikari.util上的handleNewInstance(Util.java:411) .com.zaxxer.hikari.pool.PoolBase.new上的.DriverDataSource.getConnection(DriverDataSource.java:112) com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)的com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:443)的Connection(PoolBase.java:358) .hikari.pool.HikariPool.checkFailFast(HikariPool.java:514)... 63更多

playframework playframework-2.0
1个回答
1
投票

生产环境中的数据库配置缺少数据库用户的用户名。 仔细查看错误消息:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:用户'@'localhost'对数据库'arisetec_ftalent'的访问被拒绝

它说

用户 @'localhost”的访问被拒绝

用户名是空的。 请检查您的配置。

© www.soinside.com 2019 - 2024. All rights reserved.