如何解决无法创建/写入文件'/var/tmp/#sql_85b_0.MAI'错误?

Jeet Khatri:

在服务器上部署spring boot war文件时,我们面临以下错误。

    由以下原因引起的:java.sql.SQLException:无法
            在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError。)创建/写入文件'/var/tmp/#sql_85b_0.MAI'(Errcode:2)。 java:129)〜[mysql-connector-java-8.0.18.jar:8.0.18] 
            在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)〜[mysql-connector-java -8.0.18.jar:8.0.18] 
            在com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)〜[mysql-connector-java-8.0.18.jar:8.0.18] 
            com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1200)〜[mysql-connector-java-8.0.18.jar:8.0.18] 
            com.mysql.cj.jdbc.DatabaseMetaData $ 2.forEach (DatabaseMetaData.java:2124)〜[mysql-connector-java-8.0.18.jar:8.0.18]
            在com.mysql.cj.jdbc.DatabaseMetaData $ 2.forEach(DatabaseMetaData.java:2053)〜[MySQL的连接器的Java-8.0.18.jar:8.0.18] 
            。 pool.HikariProxyDatabaseMetaData.getColumns(HikariProxyDatabaseMetaData.java)〜[HikariCP-3.4.1.jar:na]
            在com.mysql.cj.jdbc.IterateBlock.doForAll(IterateBlock.java:56)〜[[mysql-connector-java-8.0-18.jar:8.0.18] 
            在com.mysql.cj.jdbc.DatabaseMetaData.getColumns( DatabaseMetaData.java:2229)〜[mysql-connector-java-8.0.18.jar:8.0.18] 
            在com.zaxxer.hikari.pool.ProxyDatabaseMetaData.getColumns(ProxyDatabaseMetaData.java:90)〜[HikariCP-3.4.1 .jar:na], 
            .. 。46个共同的框架被省略
            在org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.populateTablesWithColumns(InformationExtractorJdbcDatabaseMetaDataImpl.java:354)〜[hibernate-core-5.4.6.Final.jar:5.4.6.Final] 
    01-Jan-2020 16: 39:47.746严重[localhost-startStop-2] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild:开始:
            org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/daily-report-code-1.0]],
                    位于org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440),
                    位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198 )
                    在org.apache.catalina.startChild.HostConfig.deployWAR( org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) 
                    上的在java.lang.Thread.run(Thread.java:748) 
                    org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
                    的org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)的
                    在org.apache.catalina.startup.HostConfig 
                    $ DeployWar.run (HostConfig.java:1841)在org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:970)
                    在java.util.concurrent.Executors $ RunnableAdapter 
                    java.util.concurrent.FutureTask.run(FutureTask.java:266)
                    的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)的.call(Executors.java:511)
                    。 ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)
            由以下原因引起:org.springframework.beans.factory.BeanCreationException:创建在类路径资源[org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaConfiguration.class]中定义的名称为'entityManagerFactory'的bean时出错:调用init方法失败;嵌套的异常是javax.persistence.PersistenceException:[PersistenceUnit:默认]无法构建Hibernate SessionFactory。嵌套异常是org.hibernate.exception.GenericJDBCException:
                    在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1803)访问表元数据出错
                    在org.springframework.org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) 
                    上的(AbstractAutowireCapableBeanFactory.java:
                    在org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0(AbstractBeanFactory.java:323)
                    在org.springframework。
                    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)的Bean.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
                    org.springframework.beans.factory.support.AbstractBeanFactory。 getBean(AbstractBeanFactory.java:202)
                    在org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1108)
                    在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:868)
                    在org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:550)
                    在org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
                    在org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
                    在org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run 
                    在org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
                    在org.springframework.boot.web.servlet.support (SpringBootServletInitializer.java:152), 
                    ...还有10个 
                    在org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:132)
                    在org。 springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:92)
                    org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
                    在org.apache.catalina.util.LifecycleBase.start(LifecycleBase )的org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:172).java:183) 
                    在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:403)
            引起原因:javax.persistence.PersistenceException:[PersistenceUnit:默认]无法构建Hibernate SessionFactory;请参见参考资料。嵌套异常是org.hibernate.exception.GenericJDBCException:错误访问表的元数据
                    在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:378)
                    在org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java :341),
                    位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862)
                    在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1799)
                    ... 29个 
                    org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.convertSQLException(InformationExtractorJdbcDatabaseMetaDataImpl.java:102)处的 
            原因:org.hibernate.exception.GenericJDBCException:
                    在org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)访问表元数据出错
                    在org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
                    在org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
                    在org.hibernate.tool.schema .extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.populateTablesWithColumns(InformationExtractorJdbcDatabaseMetaDataImpl.java:387)
                    位于org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDataternalMetaDataImplh 
                    。 .DatabaseInformationImpl.getTablesInformation(DatabaseInformationImpl.java:120) 
                    在org.hibernate.tool.schema.internal.GroupedSchemaMigratorImpl.performTablesMigration(GroupedSchemaMigratorImpl.java:65)
                    在org.hibernate.tool 
                    org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:114)
                    上的.schema.internal.AbstractSchemaMigrator.performMigration(AbstractSchemaMigrator.java:207 在org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction (SchemaManagementToolCoordinator.java:184)
                    在org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build( org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:73) 
                    上的 
                    上的 org.hibernate.internal.SessionFactoryImpl。(SessionFactoryImpl.java:320)
                    在org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
                    org.springframework.or(org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58)的org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:935)
                    。 .LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)
                    ...另外33个

application.property文件包含,


        spring.datasource.url = jdbc:mysql:// some-server-ip:3306 / daily_report_db 
        spring.datasource.username = root 
        spring.datasource.password = root 
        server.servlet.contextPath = / dailyreportcode 
        spring.datasource.driver-class -name = com.mysql.cj.jdbc.Driver 

   spring.datasource.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect 
        #休眠ddl auto(创建,创建,删除,验证,更新)
        spring.jpa.hibernate.ddl-自动=更新
        spring.jpa.show-sql = false 
        spring.jpa.generate-ddl = true

如果你们中的任何人都可以扩展您的帮助,那将是非常有意义的。

Jeet Khatri:

我正在使用mariaDB。/etc/my.cnf文件包含,


    [mysqld] 
    tmpdir = / tmp

所以解决方案是

  1. 使用mkdir命令创建新文件夹

    mkdir tmp1
  2. 提供对mysqld的所有权权限

    chown mysql:mysql / tmp1
  3. 将my.cnf文件中的tmpdir = / tmp更改为tmpdir = / tmp1

    tmpdir = / tmp1

  4. 重新启动mariadb服务。

    服务mariadb重新启动

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何解决无法加载此类文件openssl错误?

如何解决无法初始化设备hci0。错误?

如何解决无法读取空错误的属性“值”?

如何解决无法散列的类型:“列表”错误

我该如何解决无法获取/错误的nodejs

如何解决无法解决的方法'put(int,int)'错误

如何解决无法解决角度上的所有参数错误

如何解决“无法打开共享库文件libudev.so.0”的错误?

如何解决错误“致命错误:未捕获-> Smarty:无法写入文件”?

如何解决无法将字符串转换为浮点错误

如何解决无法停止:杀死VM MobyLinuxVM没有停止泊坞窗上的错误

如何解决无法连接“ str”和“ file”对象的错误?

如何解决无法调用“ DataFrame”对象的计算错误

如何解决无法读取 React js 中未定义错误的属性“map”?

如何解决无法读取未定义错误的属性“ timepicker”

如何解决无法发送请求的邮递员这个错误?

如何解决无卡开发者密钥错误

如何解决无法在模板文件夹中找到HTML文档的Flask应用程序导致内部服务器错误

如何解决:错误创建SolrCore'gettingstarted':无法创建核心

如何解决无法使用react typescript来使“ xx”键入固有属性和道具的错误?

我该如何解决无法在Nuxt中对函数错误进行字符串化处理?

如何解决Safaricom C2B错误“无法识别主机代理”

如何解决无法查询服务端点api:https://management.azure.com//subscriptions/错误-远程服务器返回错误:(403)

我该如何解决?关系错误 - 类型错误:无法读取属性 - 创建新记录:(错误)

写入CSV时如何解决“短写入”错误

创建OneDrive文件夹时,如何解决BadRequest错误“无法读取JSON请求有效载荷”?

在Umbraco 7.1.8中使用SurfaceController时如何解决无路由错误?

使用“打印”时如何解决无效的语法错误?

如何解决无根电话上的ADB错误[INSTALL_FAILED_UID_CHANGED]?