首页 文章

在 生产环境 模式下运行play框架时出错

提问于
浏览
0

我从dist运行 生产环境 时遇到错误,但它在开发模式和相同DB的同一系统中工作 .

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

密码:[info]应用程序 - 为数据源创建池'default'[错误] c.z.h.p.HikariPool - HikariPool-1 - 池初始化期间的异常 . com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl . )的sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)中,用户''@ localhost'拒绝访问数据库'aristec_ftalent' . java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at com.mysql.jdbc.Util.handleNewInstance(Util.java) :411)at com.mysql.jdbc.Util.getInstance(Util.java:386)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO . java:3609)com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943)[info] application - 为数据源'default'创建池[error] czhpHikariPool - HikariPool-2 - 池初始化期间的异常 . com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl . )的sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)中,用户''@ localhost'拒绝访问数据库'aristec_ftalent' . java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at com.mysql.jdbc.Util.handleNewInstance(Util.java) :411)at com.mysql.jdbc.Util.getInstance(Util.java:386)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO . java:3609)在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943)哎呀,无法启动服务器 . 配置错误:配置错误[无法连接到数据库[默认]]位于play.api上的play.api.Configuration $ .config Error(Configuration.scala:155)play.api.Configuration.reportError(Configuration.scala:984) . 在scala.collection.immutable.List.foreach上的db.DefaultDBApi . $ anonfun $ connect $ 1(DefaultDBApi.scala:48)at play.api.db.DefaultDBApi . $ anonfun $ connect $ 1 $ adapted(DefaultDBApi.scala:42) List.scala:389)在play.api.db.DBA提供者的play.api.db.DBApiProvider.get $ lzycompute(DBModule.scala:86)中的play.api.db.DefaultDBApi.connect(DefaultDBApi.scala:42) .get(DBModule.scala:75)位于com.google的com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)的play.api.db.DBApiProvider.get(DBModule.scala:56) . 在com.google.inject.inject.BoundProviderFactory.get(bindProviderFactor)的com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)中注入.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72) y.java:62)com.google.inject上的com.google.inject.internal.SingleParameterInjector.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:62)中的com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:38) .internal.ConstructorInjector.provision(ConstructorInjector.java:110)位于com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)com.google.inject.internal.ConstructorBindingImpl $ Factory.get(ConstructorBindingImpl.java) :268)com.google.inject.inject.inject.inject.inject.inject.inject.inject.inject.inject.inject.inject.inject.inject中的com.google.inject.inject.InjectorImpl.callInContext(InjectorImpl.java:1092)com.google.inject.internal.ProviderToInternalFactoryAdapter $ 1.call(ProviderToInternalFactoryAdapter.java:46)位于com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)的com.google.inject.internal.SingletonScope $ 1.get(SingletonScope.java:194)中的.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)在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.inject.InjectorImpl.callInContext的com.google.inject.internal.MembersInjectorImpl $ 1.call(MembersInjectorImpl.java:80)上的.google.inject.internal.MembersInjectorImpl $ 1.call(MembersInjectorImpl.java:93) (InjectorImpl.java:1092)com.google.inject.inject.inject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Iject.Clars上的com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80) . inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:987)atcom.google.inject.util.Providers $ GuicifiedProviderWithDependencies.initialize(Providers.java:149)在com.google.inject.util.Providers $ GuicifiedProviderWithDependencies $$ FastClassByGuice $$ 2a7177aa.invoke()在com.google.inject.internal .SingleMethodInjector $ 1.invoke(SingleMethodInjector.java:54)at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:89)at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132) com.google.inject.inject.inject.InjectorImpl上的com.google.inject.inmbers.MembersInjectorImpl $ 1.call(MembersInjectorImpl.java:93)com.google.inject.MembersInjectorImpl $ 1.call(MembersInjectorImpl.java:80) .callInContext(InjectorImpl.java:1085)在com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)在com.google.inject.internal.Initializer $ InjectableReference.get(Initializer.java:223)在COM.google.inject.internal.Initializer.injectAll(Initializer.java:132)在com.google .inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:174)在com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)在com.google.inject.Guice.createInjector(Guice.java:99 )在com.google.inject.Guice.createInjector(Guice.java:84)在play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:185)在play.inject.guice.GuiceBuilder.injector(GuiceBuilder . java.221)at play.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.java:156)at modules.LogSdtErrLoader.load(LogSdtErrLoader.java:29)at play.api.ApplicationLoader $ JavaApplicationLoaderAdapter $ 1.load(ApplicationLoader.scala: 87)at play.core.server.ProdServerStart $ .start(ProdServerStart.scala:50)at play.core.server.ProdServerStart $ .main(ProdServerStart.scala:25)at play.core.server.ProdServerStart.main(ProdServerStart) .scala)引起:配置错误:配置错误[无法初始化池:用户''@ localhost'拒绝访问在play.api.Coni.bi.bi.bi上的play.api.Conf . 配置$ .config.report中的play.api.Configuration.reportError(Configuration.scala:984)中的数据库'aristec_ftalent'] . (HikariCPModule . scala:63)在play.api.db.DefaultDatabase.dataSource的play.api.db.DefaultDatabase.dataSource $ lzycompute(Databases.scala:123)的play.api.db.PooledDatabase.createDataSource(Databases.scala:199) (databases.scala:121)位于play.api.db.DefaultDatabase.getConnection(Databases.scala:142)的play.api.db.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.hikar的com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:543)的com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:535)中的aristec_ftalent' i.pool.HikariPool . (HikariPool.java:111)at com.zaxxer.hikari.HikariDataSource . (HikariDataSource.java:72)at play.api.db.HikariCPConnectionPool . $ anonfun $ create $ 1(HikariCPModule.scala:51) at scala.util.Try $ .apply(Try.scala:209)at play.api.db.HikariCPConnectionPool.create(HikariCPModule.scala:47)... 58更多引起:com.mysql.jdbc.exceptions.jdbc4 .MySQLSyntaxErrorException:在sun.reflect的sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)的sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)中,用户''@ localhost'拒绝访问数据库'aristec_ftalent' . 在com.mysql.jdbc的com.mysql.jdbc.Util.handleNewInstance(Util.java:411)的java.lang.reflect.Constructor.newInstance(Constructor.java:423)中委托ConstructConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) .Util.getInstance(Util.java:386)位于com.mysql.jdbc.MysqlIO.checkErrorPacke的com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) t(MysqlIO.java:3609)位于com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)的com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943)com.mysql.jdbc.MysqlIO .secureAuth411(MysqlIO.java:4113)在com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1308)在com.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)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45 )在com.mysql.jdbc.Util.handleNewInstance(Util.java:411)的java.lang.reflect.Constructor.newInstance(Constructor.java:423)中com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)位于com.zysx.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)的com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java: 112)com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358)at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)at com.zaxxer.hikari.pool.HikariPool .createPoolEntry(HikariPool.java:443)at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:514)... 63更多

1 回答

  • 1

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

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

    它说

    用户''@ localhost'拒绝访问

    用户名为空 . 请检查您的配置 .

相关问题