2.4 Installation d'une base de données

L'application utilisateur utilise une base de données pour diverses tâches (stockage des données de configuration, stockage des données relatives aux activités de workflow, etc.). Avant de pouvoir installer le module de provisioning basé sur les rôles ou l'application utilisateur, vous devez avoir installé et configuré l'une des bases de données prises en charge pour votre plate-forme. Cela implique les opérations suivantes :

REMARQUE :si vous migrez vers une nouvelle version du module de provisioning basé sur les rôles, vous devez utiliser la même base de données d'application utilisateur que pour l'installation précédente, c'est-à-dire celle depuis laquelle vous effectuez la migration.

2.4.1 Configuration d'une base de données MySQL

L'application utilisateur requiert certaines options de configuration pour MySQL. Si vous installez MySQL vous-même, vous devez configurer ces paramètres. Si vous installez MySQL à l'aide de l'utilitaire JbossMysql, celui-ci définit les valeurs qui vous conviennent, mais vous devez connaître les valeurs à maintenir pour ce qui suit :

Moteur de stockage et types de tables INNODB

L'application utilisateur se sert du moteur de stockage INNODB, ce qui permet de choisir des types de tables INNODB pour MySQL. Si vous créez une table MySQL sans indiquer son type, la table sera de type MyISAM par défaut. Si vous choisissez d'installer MySQL à partir de la procédure d'installation d'Identity Manager, le MySQL fourni avec cette procédure contient le type de table INNODB indiqué. Pour vous assurer que votre serveur MySQL utilise INNODB, vérifiez que my.cnf (Linux ou Solaris) ou my.ini (Windows) contient l'option suivante :

default-table-type=innodb

Il ne doit pas contenir l'option skip-innodb.

Ensemble de caractères

Indiquez UTF-8 comme ensemble de caractères pour l'ensemble du serveur ou simplement pour une base de données. Indiquez UTF-8 sur l'ensemble du serveur en incluant l'option suivante dans my.cnf (Linux ou Solaris) ou my.ini (Windows) :

character_set_server=utf8

Pour indiquer le jeu de caractères d'une base de données au moment de la création de la base de données, utilisez la commande suivante :

create database databasename character set utf8 collate utf8_bin;

Si vous configurez le jeu de caractères pour la base de données, vous devez également indiquer le jeu de caractères de l'URL JDBC* dans le fichier IDM-ds.xml, comme dans l'exemple suivant :

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

Distinction de la casse

Assurez-vous que la distinction de la casse est cohérente sur les serveurs et plates-formes si vous prévoyez sauvegarder et restaurer des données sur des serveurs ou des plates-formes. Pour assurer cette cohérence, indiquez la même valeur (0 ou 1) pour les noms_tables_minuscules de tous vos fichiers my.cnf (Linux ou Solaris) ou my.ini (Windows), au lieu d'accepter la valeur par défaut (valeurs par défaut Windows à 0 et valeurs par défaut Linux à 1.) Indiquez cette valeur avant de créer la base de données qui contiendra les tables Identity Manager. Vous pouvez par exemple spécifier

lower_case_table_names=1

dans les fichiers my.cnf et my.ini pour toutes les plates-formes sur lesquelles vous souhaitez sauvegarder et restaurer une base de données.