个人博客地址:Ranger 2.1.0 Admin安装 | 一张假钞的真实世界
Creating MySQL user ranger2 failed
2021-07-01 18:44:53,480  [E] Creating MySQL user ranger2 failed..
2021-07-01 18:44:53,496  [E] DB schema setup failed! Please contact Administrator.原因是Ranger安装程序默认会使用MySQL的root账号创建所需要的账号,也就是DBA过程。如果不需要安装程序自动创建,则将install.properties中的以下配置前的#号去掉:
setup_mode=SeparateDBASpecified key was too long; max key length is 767 bytes
- 
第一种报错: Error executing: CREATE TABLE x_portal_user(idbigint(20) NOT NULL AUTO_INCREMENT,create_timedatetime DEFAULT NULL,update_timedatetime DEFAULT NULL,added_by_idbigint(20) DEFAULT NULL,upd_by_idbigint(20) DEFAULT NULL,first_namevarchar(1022) DEFAULT NULL,last_namevarchar(1022) DEFAULT NULL,pub_scr_namevarchar(2048) DEFAULT NULL,login_idvarchar(767) DEFAULT NULL,passwordvarchar(512) NOT NULL,emailvarchar(512) DEFAULT NULL,statusint(11) NOT NULL DEFAULT '0',user_srcint(11) NOT NULL DEFAULT '0',notesvarchar(4000) DEFAULT NULL,other_attributesvarchar(4000) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEYx_portal_user_UK_login_id(login_id), UNIQUE KEYx_portal_user_UK_email(email), KEYx_portal_user_FK_added_by_id(added_by_id), KEYx_portal_user_FK_upd_by_id(upd_by_id), KEYx_portal_user_cr_time(create_time), KEYx_portal_user_up_time(update_time), KEYx_portal_user_name(first_name(767)), KEYx_portal_user_email(email), CONSTRAINTx_portal_user_FK_added_by_idFOREIGN KEY (added_by_id) REFERENCESx_portal_user(id), CONSTRAINTx_portal_user_FK_upd_by_idFOREIGN KEY (upd_by_id) REFERENCESx_portal_user(id) ) ROW_FORMAT=DYNAMIC;
 java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
 SQLException : SQL state: 42000 java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes ErrorCode: 1071
 2021-07-02 10:44:54,411 [E] ranger_core_db_mysql.sql file import failed!
修改对应字段的长度可以解决。注意UTF8每个字符4个字节。
- 
第二种报错: Error executing: CREATE TABLE x_portal_user(idbigint(20) NOT NULL AUTO_INCREMENT,create_timedatetime DEFAULT NULL,update_timedatetime DEFAULT NULL,added_by_idbigint(20) DEFAULT NULL,upd_by_idbigint(20) DEFAULT NULL,first_namevarchar(128) DEFAULT NULL,last_namevarchar(1022) DEFAULT NULL,pub_scr_namevarchar(2048) DEFAULT NULL,login_idvarchar(128) DEFAULT NULL,passwordvarchar(512) NOT NULL,emailvarchar(128) DEFAULT NULL,statusint(11) NOT NULL DEFAULT '0',user_srcint(11) NOT NULL DEFAULT '0',notesvarchar(4000) DEFAULT NULL,other_attributesvarchar(4000) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEYx_portal_user_UK_login_id(login_id), UNIQUE KEYx_portal_user_UK_email(email), KEYx_portal_user_FK_added_by_id(added_by_id), KEYx_portal_user_FK_upd_by_id(upd_by_id), KEYx_portal_user_cr_time(create_time), KEYx_portal_user_up_time(update_time), KEYx_portal_user_name(first_name(767)), KEYx_portal_user_email(email), CONSTRAINTx_portal_user_FK_added_by_idFOREIGN KEY (added_by_id) REFERENCESx_portal_user(id), CONSTRAINTx_portal_user_FK_upd_by_idFOREIGN KEY (upd_by_id) REFERENCESx_portal_user(id) ) ROW_FORMAT=DYNAMIC;
 java.sql.SQLException: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
 SQLException : SQL state: HY000 java.sql.SQLException: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys ErrorCode: 1089
 2021-07-02 11:51:23,763 [E] ranger_core_db_mysql.sql file import failed!
去掉prefix key的定义即可。
修改后的建表语句如下:
CREATE TABLE `x_portal_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `create_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  `added_by_id` bigint(20) DEFAULT NULL,
  `upd_by_id` bigint(20) DEFAULT NULL,
  `first_name` varchar(128) DEFAULT NULL,
  `last_name` varchar(1022) DEFAULT NULL,
  `pub_scr_name` varchar(2048) DEFAULT NULL,
  `login_id` varchar(128) DEFAULT NULL,
  `password` varchar(512) NOT NULL,
  `email` varchar(128) DEFAULT NULL,
  `status` int(11) NOT NULL DEFAULT '0',
  `user_src` int(11) NOT NULL DEFAULT '0',
  `notes` varchar(4000) DEFAULT NULL,
  `other_attributes` varchar(4000) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `x_portal_user_UK_login_id` (`login_id`),
  UNIQUE KEY `x_portal_user_UK_email` (`email`),
  KEY `x_portal_user_FK_added_by_id` (`added_by_id`),
  KEY `x_portal_user_FK_upd_by_id` (`upd_by_id`),
  KEY `x_portal_user_cr_time` (`create_time`),
  KEY `x_portal_user_up_time` (`update_time`),
  KEY `x_portal_user_name` (`first_name`),
  KEY `x_portal_user_email` (`email`),
  CONSTRAINT `x_portal_user_FK_added_by_id` FOREIGN KEY (`added_by_id`) REFERENCES `x_portal_user` (`id`),
  CONSTRAINT `x_portal_user_FK_upd_by_id` FOREIGN KEY (`upd_by_id`) REFERENCES `x_portal_user` (`id`)
) ROW_FORMAT=DYNAMIC;对整个建表脚本中的SQL都需要对应的修改。