Créer une copie de la base
Avant de commencer toute modification de l’environnement concernant la base de données il est nécessaire, si une base de données existe, de procéder à la réalisation d’une sauvegarde (dump). Pour générer cette sauvegarde il est souhaitable de le faire en utilisant, la console d’invite de commandes Windows ou Windows PowerShell. Cette manière de procéder permettra d’éviter tout dysfonctionnement lié à un dépassement du temps d’exécution (Timeout) lors qu’il s’agit d’une base de données de taille importante.
Sauvegarde des bases « mtgweb » et « mgworkflow »
En général les bases utilisées par Multigest sont nommées « mtgweb » et « mgworkflow » néanmoins selon la configuration de l’environnement elles peuvent se nommer différemment.
MySQL
Pour la génération de la sauvegarde il est nécessaire de suivre les pas suivants :
- Ouvrir la console d’invite de commandes Windows (saisir com.exe ou Windows PowerShell dans la barre de recherche).
- Se positionner dans le répertoire d’installation de MySQL : « [INSTALLDIR_MYSQL]\bin » en saisissant la commande : « CD \ [INSTALLDIR_MYSQL]\bin ».
Copier la commande suivante dans votre bloc-notes en prenant soin de modifier le nom des valeurs en gras qui correspondent au nom de la base et au nom du fichier et du répertoire de destination :
mysqldump.exe -p -c -e –create-options –quick –add-drop-table –extended-insert –lock-tables –single-transaction –max_allowed_packet=104857600 –default-character-set=latin1 -u root -B mtgweb >’repertoire_sauvegarde\mtgweb_AAAAMMJJ.sql’
mysqldump.exe -p -c -e --create-options --quick --add-drop-table --extended-insert --lock-tables --single-transaction --max_allowed_packet=104857600 --default-character-set=latin1 -u root -B mtgweb >’repertoire_sauvegarde\mtgweb_AAAAMMJJ.sql'
Exécuter la même commande pour sauvegarder la base workflow en changeant le nom de la base et du fichier de sauvegarde :
mysqldump.exe -p -c -e --create-options --quick --add-drop-table --extended-insert --lock-tables --single-transaction --max_allowed_packet=104857600 --default-character-set=latin1 -u root -B mgworkflow > ‘repertoire_sauvegarde\mgworkflow_AAAAMMJJ.sql'
MariaDB
Si la base de données est sur un serveur MariaDB la procédure de sauvegarde est la même a l’exception que les chemins d’installation sont différents :
- Ouvrir la console d’invite de commandes Windows (saisir com.exe ou Windows PowerShell dans la barre de recherche).
- Se positionner dans le répertoire d’installation de MariaDB : « [INSTALLDIR_MARIADB]\bin » en saisissant la commande : « CD \[INSTALLDIR_MARIADB]\bin ».
Copier la commande suivante dans votre bloc-notes en prenant soin de modifier le nom des valeurs en gras qui correspondent au nom de la base et au nom du fichier et du répertoire de destination :
mysqldump.exe -p -c -e --create-options --quick --add-drop-table --extended-insert --lock-tables --single-transaction --max_allowed_packet=104857600 --default-character-set=latin1 -u root -B mtgweb >’repertoire_sauvegarde\mtgweb_AAAAMMJJ.sql'
Exécuter la même commande pour sauvegarder la base workflow en changeant le nom de la base et du fichier de sauvegarde :
mysqldump.exe -p -c -e --create-options --quick --add-drop-table --extended-insert --lock-tables --single-transaction --max_allowed_packet=104857600 --default-character-set=latin1 -u root -B mgworkflow > ‘repertoire_sauvegarde\mgworkflow_AAAAMMJJ.sql'
Installation MariaDB
L’application MariaDB est disponible dans le portail Efalia ou directement sur le site de l’editeur et télécharger la dernière version de MariaDB en version 10.6 (Minimum 10.5). Il est souhaitable de récupérer le fichier de configuration my.ini fourni par Efalia qui est dans le fichier compressé livré.
Téléchargement de MariaDB
- Aller sur : https://mariadb.org/download/ et télécharger la version de MariaDB 10.6.X (10.5 minimum)
Installation
- Lancer l’installateur

- Cliquer sur « Next »

- Cocher « I accept the terms in the license agreement »

- Choisir le répertoire d’installation de MariaDB

- Choisir le répertoire de la base de données.

- Saisir le mot de passe MariaDB et cocher « Enable access from remote machines for ‘root’ user »

- Laisser la valeur par défaut, cependant il est possible de le modifier s’il est nécessaire.

- Cliquer sur « Install ».
Paramétrage du my.ini
Pour un fonctionnement optimal de l’application il est nécessaire de modifier le fichier my.ini qui se trouve dans le répertoire d’installation de MariaDB et le remplacer par celui fournit par Efalia.
Modifier les valeurs en les remplaçant par les valeurs adaptées à l’environnement d’installation.
##### V2-02-11-22 ##### [client] port=3306 plugin_dir=D:/GED/APPS/MariaDB/MariaDB 10.6/lib/plugin [mysql] default_character_set=latin1 [mysqld] #**************************************** GENERAL options ****************************************# ############################ ##### A modifier en fonction de votre port MariaDB et chemin MariaDB / DATA ##### port=3306 basedir="D:/GED/APPS/MariaDB/MariaDB 10.6/" datadir="D:/GED/APPS/MariaDB/MariaDB 10.6/data" ##### Le chemin suivant si decommenté devra etre créé ##### #secure_file_priv="D:/GED/APPS/MariaDB/MariaDB 10.6/Uploads" ############################ ##### MYSQL 8 uniquement##### #default_authentication_plugin=mysql_native_password character_set_server=latin1 default_storage_engine=INNODB sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION" group_concat_max_len=128M ##### Au dela de 1Go attention ##### max_allowed_packet=256M ##### Attention au maximum 32 connections par core ou VCPU #### max_connections=151 thread_cache_size=10 ##### Identifiant Serveur dans le cas de la réplication ##### server_id=1 ##### Table temporaire MAX 2 Go (recommandé 512 Mo) ##### tmp_table_size=512M ##### Mettre la même valeur que tmp_table_size ou plus (Si valeur plus petite que tmp_table_size alors tmp_table_size sera au même niveau) ##### max_heap_table_size=512M ##### Attention risque de montée en RAM ##### ##### Si open_tables est élevé (show global status like 'open_tables';) augmenter la valeur suivante ##### table_open_cache=2000 table_definition_cache=1024 ##### Si Sort_merge_passes est élevé (show global status like 'Sort_merge_passes';) augmenter la valeur suivante ##### sort_buffer_size=16M join_buffer_size=256k #**************************************** MyISAM Specific options ****************************************# myisam_max_sort_file_size=1G myisam_sort_buffer_size=128M key_buffer_size=128M read_buffer_size=512K read_rnd_buffer_size=1M #**************************************** INNODB Specific options ****************************************# #skip_innodb innodb_flush_log_at_trx_commit=1 innodb_log_file_size=256M innodb_file_per_table=1 ############################ ##### Taille en octets du tampon pour l'écriture des fichiers de journalisation InnoDB sur le disque MAX 4 Go ##### innodb_log_buffer_size=256M ##### Taille correspondant à 50-70 % de la RAM disponible si dédié ou 25-40% si non dédié ##### innodb_buffer_pool_size=1G ##### Rendre dynamique le buffer pool ##### #innodb_buffer_pool_instances=8 #innodb_buffer_pool_chunk_size=128M ############################ ############################ ##### Pour des disques : # SAN ou SSD : Mettre a 32 pour table_open_cache=100 (ne pas mettre plus de la moitié du table_open_cache) # Disque Classique : Mettre a 8 pour table_open_cache=100 (ne pas mettre plus de la moitié du table_open_cache) ##### innodb_read_io_threads = 32 ##### Mettre la MOITIE du read_io_threads ##### innodb_write_io_threads = 16 ############################ #**************************************** TIMEOUT Specific options ****************************************# ##### Mettre une valeur cohérente en fonction de la base du client ##### ##### MariaDB en seconde###### max_statement_time=3600 ##### MySQL en milliseconde###### #max_execution_time=3600000 wait_timeout=3600 interactive_timeout=3600 ##### Temps en secondes pendant lequel le serveur attendra qu'une connexion client envoie plus de données avant d'interrompre la lecture/ecriture ##### net_read_timeout=600 net_write_timeout=600 innodb_lock_wait_timeout=600 #**************************************** LOGS Specific options ****************************************# ##### Binary Logging (Specfique MySQL 8.0) ##### #skip_log_bin ##### Log des requetes (Mettre le nom du serveur) ##### log_error="EFALIA.err" general_log=0 general_log_file="EFALIA.log" long_query_time=10 slow_query_log_file="EFALIA-slow.log" log_output=FILE #**************************************** LINUX Specific options ****************************************# ##### S'il est défini sur 0 (la valeur par défaut sur les systèmes basés sur Unix), les noms de table et les alias et les noms de base de données sont comparés de manière sensible à la casse. ##### ##### S'il est défini sur 1 (la valeur par défaut sous Windows), les noms sont stockés en minuscules et ne sont pas comparés de manière sensible à la casse. ##### ##### S'il est défini sur 2 (la valeur par défaut sur Mac OS X), les noms sont stockés comme déclarés, mais comparés en minuscules. ##### lower_case_table_names=1 #**************************************** ARCHIVAGE Specific options ****************************************# ##### Attention : Le chemin des plugins doit être actif ##### plugin_load_add=ha_archive
Redémarrer le service MariaDB
Création de la base de Multigest (Si nouvelle Base)
Ces actions sont à faire s’il n’existe aucune base de données dans Multigest la procédure est décrite dans la section précédent de ce Manuel (cf. Création de la base de MultiGest
Import de la base de données (Si récupération d’une ancienne base)
La procédure pour réaliser un import fait au paragraphe “Sauvegarde des bases « mtgweb » et « mgworkflow »” est la suivante :
- En invite de commande aller dans le répertoire « INSTALLDIR_MARIADB\bin ».
cd "INSTALLDIR_MARIADB\bin"
- Se connecter à la base de données.
mysql.exe -h HOST -u USER –p
- Valider par entrée
- Saisir le mot de passe de la base
- Importer la sauvegarde.
CREATE DATABASE mtgweb; USE mtgweb SOURCE chemin_fichier_sauvegarde/mtgweb_AAAAMMJJ.sql; CREATE DATABASE mgworkflow; USE mgworkflow SOURCE chemin_fichier_sauvegarde/mgworkflow_AAAAMMJJ.sql;
Mise à jour de la base de données
Sur le serveur de multigest, se déplacer dans le répertoire [INSTALL_MULTIGEST]\bin\
- Exécuter le fichier “configurator.exe” en tant qu’administrateur.

- Une fois la fenêtre ouverte, cliquer sur “Vérifier l’intégrité”.

- Dans la fenêtre qui s’ouvre, cliquer sur “Test de la connexion”
- Cliquer sur intégrité table : Vérifier que c’est OK
- Cliquer sur intégrité des index : Vérifier que c’est OK

- Relancer tous les services de Multigest
- Si vous avez une base workflow utilisée, il faudra refaire l’intégrité des tables et des index après redemarrage du service automate multigest webserveur
Convertir des tables MyISAM en InnoDB (A faire uniquement si certaines ou toutes les tables ne sont pas en InnoDB
Pour procéder à la conversion des tables MyISAM en InnoDB, il est nécessaire de suivre les étapes suivantes :
Se déplacer dans le répertoire [INSTALL_MULTIGEST]\bin\
- Exécuter le fichier “configurator.exe” en tant qu’administrateur.

- Une fois la fenêtre ouverte, cliquer sur “Vérifier l’intégrité”.

- Dans la fenêtre qui s’ouvre, cliquer sur “Test de la connexion”
- Choisir dans la liste des “Moteur de la base” la valeur “INNODB”, laisser “ROW FORMAT” sur “DYNAMIC” et cliquer sur “Changer”.

- Sélectionner le moteur et cliquer sur le bouton “Changer”

- Saisir le mot de passe “jpmas42”
