Processus de migration de MySQL / MariaDB Server
Les étapes ci-dessous décrivent la migration de MySQL vers MySQL. Les mêmes étapes s'appliquent à la migration de MySQL vers MariaDB. |
Conditions préalables requises :
•Les instances MySQL Server source et cible doivent être installées. Elles peuvent être hébergées sur des ordinateurs différents.
•Les outils MySQL doivent être disponibles sur au moins un des ordinateurs (mysqldump et client mysql).
Liens utiles
•https://dev.mysql.com/doc/refman/8.0/en/copying-databases.html
•https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
•https://dev.mysql.com/doc/refman/8.0/en/mysql.html
Processus de migration
Dans les commandes, instructions SQL ou fichiers de configuration suivants, remplacez toujours : •SRCHOST par l'adresse du serveur de base de données source ; •SRCROOTLOGIN par la connexion de l'utilisateur racine MySQL Server source ; •SRCDBNAME par le nom de la base de données ESET PROTECT source à sauvegarder •BACKUPFILE par le chemin d'accès au fichier dans lequel la sauvegarde sera stockée ; •TARGETROOTLOGIN par la connexion de l'utilisateur racine MySQL Server cible ; •TARGETHOST par l'adresse du serveur de base de données cible ; •TARGETDBNAME par le nom de la base de données ESET PROTECT cible (après migration) •TARGETLOGIN par le nom d'utilisateur de l'utilisateur de la nouvelle base de données ESET PROTECT sur le serveur de base de données cible ; •TARGETPASSWD par le mot de passe de l'utilisateur de la nouvelle base de données ESET PROTECT sur le serveur de base de données cible. |
Il n'est pas nécessaire d'exécuter les instructions SQL ci-dessous via la ligne de commande. Si vous disposez d'un outil d'interface utilisateur graphique, vous pouvez utiliser une application que vous maîtrisez.
1.Arrêtez le service ESET PROTECT Server.
2.Effectuez une sauvegarde complète de la base de données ESET PROTECT source (celle que vous prévoyez de migrer) :
mysqldump --host SRCHOST --disable-keys --extended-insert --routines -u SRCROOTLOGIN -p SRCDBNAME > BACKUPFILE |
3.Préparez une base de données vide sur l'instance MySQL Server cible :
Assurez-vous que les encodages de caractères de la base de données sont identiques sur les serveurs source et cible. La migration vers une base de données utilisant un autre encodage de caractères empêchera le service ESET PROTECT Server de fonctionner. |
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE DATABASE TARGETDBNAME /*!40100 DEFAULT CHARACTER SET utf8 */;" |
sur les systèmes Linux, utilisez des apostrophes « ' » plutôt que des guillemets doubles « " ». |
4.Restaurez la base de données dans la base de données vide précédemment préparée sur l'instance MySQL Server cible :
mysql --host TARGETHOST -u TARGETROOTLOGIN -p TARGETDBNAME < BACKUPFILE |
5.Créez un utilisateur de base de données ESET PROTECT sur l'instance MySQL Server cible :
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE USER TARGETLOGIN@'%' IDENTIFIED BY 'TARGETPASSWD';" |
Caractères recommandés pour TARGETLOGIN : Lettres minuscules ASCII, chiffres et trait de soulignement _.
Caractères recommandés pour TARGETPASSWD : Uniquement des caractères ASCII, y compris les lettres ASCII majuscules et minuscules, les chiffres, les espaces et les caractères spéciaux. N'utilisez pas de caractères non-ASCII tels que les accolades {} et le caractère @.
Si vous ne suivez pas les recommandations ci-dessus relatives aux caractères, il est possible que vous rencontriez des problèmes de connexion de base de données ou que vous deviez échapper les caractères spéciaux lors des étapes de modification de la chaîne de connexion à la base de données qui suivent. Les règles d'échappement de caractères ne sont pas incluses dans ce document.
6.Accordez des droits d'accès adéquats à l'utilisateur de la base de données ESET PROTECT sur l'instance MySQL Server cible :
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=GRANT ALL ON TARGETDBNAME.* TO TARGETLOGIN;" |
sur les systèmes Linux, utilisez des apostrophes « ' » plutôt que des guillemets doubles « " ». |