带有 MySQL Server 5.6 的 Liferay 7 未启动

Posted

技术标签:

【中文标题】带有 MySQL Server 5.6 的 Liferay 7 未启动【英文标题】:Liferay 7 with MySQL Server 5.6 not starting 【发布时间】:2017-02-13 20:00:40 【问题描述】:

我刚刚下载了最新的 Liferay 7 Tomcat 包

liferay-ce-portal-tomcat-7.0-ga3-20160804222206210

从 liferay-ce-portal-7.0-ga3\tomcat-8.0.32\bin\startup.bat 中提取并查看。服务器成功启动并在浏览器上打开第一个屏幕。然后我提供了基本配置和数据库(MySQL Server 5.6)详细信息等,并按照指示重新启动了服务器。但是现在每当我启动服务器时,都会抛出以下异常并且服务器没有启动。谁能帮我找出问题所在?

10:23:40,085 INFO  [localhost-startStop-1][BaseDB:501] Database does not support case sensitive queries
You must first upgrade to Liferay Portal 7002
10:23:40,097 ERROR [localhost-startStop-1][MainServlet:237] java.lang.RuntimeException: You must first upgrade to Liferay Portal 7002
java.lang.RuntimeException: You must first upgrade to Liferay Portal 7002
    at com.liferay.portal.tools.DBUpgrader.checkRequiredBuildNumber(DBUpgrader.java:86)
    at com.liferay.portal.events.StartupAction.doRun(StartupAction.java:190)
    at com.liferay.portal.events.StartupAction.run(StartupAction.java:85)
    at com.liferay.portal.servlet.MainServlet.processStartupEvents(MainServlet.java:1290)
    at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:234)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1038)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4997)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5289)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:585)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1794)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Stopping the server due to unexpected startup errors

【问题讨论】:

【参考方案1】:

您似乎已将 Liferay 指向具有现有数据的数据库。在这种情况下,您必须在启动 Liferay 之前运行升级程序。这是一个从 7.0 版开始的单独工具 - 在以前的版本中,它曾经捆绑在服务器中。文档应包含所有必需的信息。

回答您的评论:一行

10:23:40,097 ERROR [localhost-startStop-1][MainServlet:237] java.lang.RuntimeException: 
You must first upgrade to Liferay Portal 7002

清楚地表明 Liferay 在您指向的数据库中找到了以前版本的表和数据结构。请注意,如果 portal-ext.properties 文件位于当前用户的主目录中,它也会被拾取 - 这可能会覆盖您希望在安装的私有 portal-ext.propertiesportal-setup-wizard.properties 中设置的设置。

此外,我确实建议明确使用与您的 mysql-server 版本匹配的 mysql-driver 版本。否则 Liferay 将从 maven 存储库下载驱动程序,它可能不会 100% 匹配。我已经看到了由此产生的问题。

【讨论】:

我没有使用现有的数据库。我刚刚在 MySQL 服务器中创建了一个新数据库。所有 Liferay 文档都在指导从 6.* 升级到 7。但是在这里我已经下载了最新的一个,即 7.0。那我又要升级什么呢? 非常感谢奥拉夫。我刚刚验证了portal-setup-wizard.properties,其中提到了默认数据库名称lportal,而我创建了具有不同名称的数据库,不幸的是lportal 具有旧门户6.2 的数据。我已经纠正了它,现在它工作正常。你答对了。非常感谢:)【参考方案2】:
10:23:40,085 INFO  [localhost-startStop-1][BaseDB:501] Database does not support case sensitive queries You must first upgrade to Liferay Portal 7002

您是否从您的堆栈跟踪中尝试过这个先前的建议?

【讨论】:

以上是关于带有 MySQL Server 5.6 的 Liferay 7 未启动的主要内容,如果未能解决你的问题,请参考以下文章

使用 brew mysql.server 安装 mysql@5.6 不是命令

带有 MySQL 5.6 的 Solaris 10 中的 MySQL 性能问题

CentOS 7 安装MySql Server 5.6

MySQL(Percona Server) 5.6 主从复制

Linux 下 YUM 安装 Percona Server 5.6

CentOS 7 安装MySQL 5.6遇到问题及解决方案