2.4 安裝資料庫

「使用者應用程式」會使用資料庫執行各種任務,例如,儲存組態資料,以及為任何工作流程活動儲存資料。您必須已安裝和設定您的平台所支援的其中一個資料庫,才能安裝「角色提供模組」或「使用者應用程式」。這包含:

附註:如果您要移轉到新版的「角色提供模組」,必須使用您用於較早之安裝 (也就是您要移轉的安裝來源) 的相同「使用者應用程式」資料庫。

2.4.1 設定 MySQL 資料庫

「使用者應用程式」需要 MySQL 的特定組態選項。如果您自行安裝 MySQL,請自行設定這些設定。如果您使用 JBossMySQL 公用程式來安裝 MySQL,則公用程式會為您設定正確的值,但您必須知道那些值是什麼,才能維護下列項目:

INNODB 存放引擎和表格類型

「使用者應用程式」使用了 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 做為整個伺服器或只有資料庫的字元集。 將下列選項納入 my.cnf (Linux 或 Solaris) 或 my.ini (Windows),以涵蓋整個伺服器的基礎來指定 UTF-8:

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 檔案中)。