无法在Windows中将MySQL与Liferay连接

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

我使用create database dblife character set utf8创建了MySQL数据库。我使用MySQL版本8.0.11和MySQL连接器版本5.1.4。下载MySQL-connector后,我用.jar目录中的Mysql.jar替换了lib/ext文件。因此,当我运行Liferay服务器版本6.2时,它会给出以下错误,如下所示。

我在eclipse控制台上遇到错误:

09:51:13,420 INFO  [localhost-startStop-1][DialectDetector:71] Determine dialect for MySQL 8
09:51:13,445 INFO  [localhost-startStop-1][DialectDetector:136] Found dialect org.hibernate.dialect.MySQLDialect
    09:40:37,209 INFO  [http-bio-8080-exec-2][StartupAction:97] There are no patches installed
09:40:37,216 ERROR [http-bio-8080-exec-2][JDBCExceptionReporter:82] Table 'dblife.lock_' doesn't exist
09:40:37,221 WARN  [http-bio-8080-exec-2][StartupAction:147] Unable to clear locks because Lock table does not exist
09:40:37,223 WARN  [http-bio-8080-exec-2][ReleaseLocalServiceImpl:171] Table 'dblife.release_' doesn't exist
09:40:37,226 INFO  [http-bio-8080-exec-2][ReleaseLocalServiceImpl:84] Create tables and populate with default data
09:40:38,058 WARN  [http-bio-8080-exec-2][BaseDB:457] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'system tinyint,    maxUsers integer,   active_ tinyint) engine InnoDB' at line 1: create table Company (   companyId bigint not null primary key,  accountId bigint,   webId varchar(75) null, key_ longtext null, mx varchar(75) null,    homeURL longtext null,  logoId bigint,  system tinyint, maxUsers integer,   active_ tinyint) engine InnoDB;_ [Sanitized]
09:40:47,056 WARN  [http-bio-8080-exec-2][BaseDB:457] Table 'dblife.company' doesn't exist: create index IX_38EFE3FD on Company (logoId);_ [Sanitized]
09:40:47,058 WARN  [http-bio-8080-exec-2][BaseDB:457] Table 'dblife.company' doesn't exist: create index IX_12566EC2 on Company (mx);_ [Sanitized]
09:40:47,059 WARN  [http-bio-8080-exec-2][BaseDB:457] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'system)' at line 1: create index IX_35E3E7C6 on Company (system);_ [Sanitized]
09:40:47,060 WARN  [http-bio-8080-exec-2][BaseDB:457] Table 'dblife.company' doesn't exist: create unique index IX_EC00543C on Company (webId);_ [Sanitized]
09:40:58,636 WARN  [http-bio-8080-exec-2][BaseDB:457] Specified key was too long; max key length is 3072 bytes: create index IX_7020130F on SCProductVersion (directDownloadURL);_ [Sanitized]
09:40:58,637 ERROR [http-bio-8080-exec-2][BaseDB:464] create index IX_7020130F on SCProductVersion (directDownloadURL);
09:41:01,417 WARN  [http-bio-8080-exec-2][BaseDB:457] Specified key was too long; max key length is 3072 bytes: create index IX_89509087 on User_ (companyId, openId);_ [Sanitized]
09:41:01,418 ERROR [http-bio-8080-exec-2][BaseDB:464] create index IX_89509087 on User_ (companyId, openId);
09:41:03,401 INFO  [http-bio-8080-exec-2][BaseDB:484] Database does not support case sensitive queries
09:41:04,169 INFO  [http-bio-8080-exec-2][VerifyProcess:65] Verifying com.liferay.portal.verify.VerifyProcessSuite
09:41:04,170 INFO  [http-bio-8080-exec-2][VerifyProcess:65] Verifying com.liferay.portal.verify.VerifyProperties
09:41:04,195 ERROR [http-bio-8080-exec-2][DBUpgrader:247] Unable to execute verify process: com.liferay.portal.verify.VerifyException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dblife.company' doesn't exist
com.liferay.portal.verify.VerifyException: com.liferay.portal.verify.VerifyException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dblife.company' doesn't exist

Caused by: com.liferay.portal.verify.VerifyException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dblife.company' doesn't exist

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dblife.company' doesn't exist

此外,我无法在portal-ext.properties目录中添加liferay.home。当我添加这个portal-ext.properties文件,然后我得到错误:localhost的Liferay v6.2(tomcat7遇到了问题。

我检查了现有的解决方案liferay-not-working-with-mysql,但我看不到控制面板>管理工具中的Database Migration选项

谁能请我建议解决方案。我将非常感谢你。

mysql windows liferay-6
1个回答
0
投票

安装Liferay时,它需要对数据库具有CREATE TABLE和其他DDL权限。确保将这些内容授予您正在运行Liferay的用户。创建表后,您可以撤消它们 - 安装后Liferay只需要标准的CRUD操作(直到您升级或部署需要此类权限的新组件)。

另外,Liferay 6.2比mysql 8早了几年 - 可以安全地假设两者从未进行过一起测试,我建议使用经过测试的数据库,而不是尝试做任何人都没有的工作之前尝试过。您可以在compatibility matrix中找到企业支持的版本。

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