2.4 Installing a Database

The User Application uses a database for various tasks such as storing configuration data and storing data for any workflow activities. Before you can install the Roles Based Provisioning Module or User Application, you must have one of the supported databases for your platform installed and configured. This includes:

NOTE:If you are migrating to a new version of the Roles Based Provisoining Module, you must use the same User Application database that you used for the previous installation (that is, the installation from which you are migrating.)

2.4.1 Configuring a MySQL Database

The User Application requires certain configuration options for MySQL.If you install MySQL yourself, you configure these settings. If you install MySQL by using the JBossMySQL utility, the utility sets the correct values for you, but you need to know the values to maintain for the following:

INNODB Storage Engine and Table Types

The User Application uses the INNODB storage engine, which enables you to choose INNODB table types for MySQL. If you create a MySQL table without specifying its table type, the table receives the MyISAM table type by default. If you choose to install MySQL from the Identity Manager installation procedure, the MySQL issued with that procedure comes with the INNODB table type specified. To ensure that your MySQL server is using INNODB, verify that my.cnf (Linux or Solaris) or my.ini (Windows) contains the following option:

default-table-type=innodb

It should not contain the skip-innodb option.

Character Set

Specify UTF-8 as the character set for the whole server or just for a database. Specify UTF-8 on a server-wide basis by including the following option in my.cnf (Linux or Solaris) or my.ini (Windows):

character_set_server=utf8

You can also specify the character set for a database at database creation time, using the following command:

create database databasename character set utf8 collate utf8_bin;

If you set the character set for the database, you must also specify the character set in the JDBC* URL in the IDM-ds.xml file, as in the following example:

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

Case Sensitivity

Ensure that case sensitivity is consistent across servers or platforms if you plan to back up and restore data across servers or platforms. To ensure consistency, specify the same value (either 0 or 1) for lower_case_table_names in all your my.cnf (Linux or Solaris) or my.ini (Windows) files, instead of accepting the default (Windows defaults to 0 and Linux defaults to 1.) Specify this value before you create the database to hold the Identity Manager tables. For example, you would specify

lower_case_table_names=1

in the my.cnf and my.ini files for all platforms on which you plan to back up and restore a database.