2.4 安装数据库

User Application 使用数据库来完成各项任务,如储存配置数据和任何工作流程活动的数据。安装基于角色的供应模块或 User Application 前,必须安装并配置了在您的平台上受支持的数据库之一。其中包括:

注:如果正要迁移到基于角色的供应模块的新版本,则必须使用之前安装(即要迁移的安装版本)所用的同一 User Application 数据库。

2.4.1 配置 MySQL 数据库

User Application 需要 MySQL 的某些配置选项。如果您自己安装 MySQL,请配置以下设置。如果通过使用 JbossMysql 实用程序安装 MySQL,则实用程序将为您设置正确的值,但需要知道为以下项目保留的值:

INNODB 储存引擎和表类型

User Application 使用了 INNODB 储存引擎,通过它可以选择为 MySQL 指定 INNODB 表类型。如果创建 MySQL 表时没有指定表类型,默认情况下,该表采用 MyISAM 表类型。如果选择在 Identity Manager 安装过程中安装 MySQL,则在此过程中安装的 MySQL 采用指定的 INNODB 表类型。为确保 MySQL 服务器使用 INNODB,请校验 my.cnf(Linux 或 Solaris)或 my.ini (Windows) 中包含以下选项:

default-table-type=innodb

它不应包含 skip-innodb 选项。

字符集

将整个服务器或仅仅某个数据库的字符集指定为 UTF-8。要在整个服务器范围内指定 UTF-8,可在 my.cnf(Linux 或 Solaris)或者 my.ini (Windows) 中包含以下选项:

character_set_server=utf8

也可以在创建数据库时使用以下命令指定数据库字符集:

create database databasename character set utf8 collate utf8_bin;

如果为数据库设置了字符集,还必须在 IDM-ds.xml 文件的 JDBC* URL 中指定该字符集,如以下示例所示:

<connection-url>jdbc:mysql://localhost:3306/databasename?useUnicode=true&amp;characterEncoding=utf8&amp;connectionCollation=utf8_bin</connection-url>

区分大小写

如果计划跨服务器或平台备份或恢复数据,请确保所有服务器或平台上的大小写保持一致。要确保该一致性,请为所有 my.cnf(Linux 或 Solaris)或 my.ini (Windows) 文件中的 lower_case_table_names 指定相同的值(0 或 1),而不是接受默认值(Windows 默认为 0,而 Linux 默认为 1。) 请在创建数据库保存 Identity Manager 表之前指定该值。例如,对于所有计划备份和恢复数据库的平台,可以指定

lower_case_table_names=1

(在 my.cnfmy.ini 文件中)。