MySQL: Utilisation avancée

Comment configurer, optimiser, exporter ou importer des données MySQL

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution MySQL cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Connexions et transferts illimités.
  • Interface web phpMyAdmin incluse.
  • Mises à jour faciles en un clic.
  • Performance optimale et sécurité robuste grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il ne faut que 5 minutes pour essayer la solution MySQL cloud hosting de Stackhero !

Chez Stackhero, il n'y a pas de limite codée en dur concernant le nombre de connexions simultanées que votre serveur MySQL peut accepter. Vous avez la possibilité d'ajuster ce paramètre directement depuis votre tableau de bord Stackhero afin de l'adapter aux besoins de votre application.

Même s'il peut être tentant de définir une valeur très élevée, il est recommandé de choisir une limite adaptée à votre usage. Chaque connexion ouverte consomme de la mémoire (RAM), donc un nombre trop important peut exercer une pression inutile sur votre instance et rendre votre base de données instable.

Si votre base de données utilise le moteur de stockage InnoDB, vous pouvez activer l'option "InnoDB Optimizations" dans le tableau de bord Stackhero pour améliorer les performances.

De la même façon, si votre base de données fonctionne avec le moteur MyISAM, l'activation de l'option "MyISAM Optimizations" peut également optimiser les performances.

Si vous ne savez pas quel moteur de stockage est utilisé ou quelle optimisation choisir, il est généralement conseillé d'activer ces options par défaut. Vous pourrez toujours les ajuster par la suite en fonction de votre charge de travail ou de l'utilisation des ressources.

Les outils en ligne de commande MySQL comme mysql et mysqldump sont très pratiques pour importer ou exporter des données.

Une méthode simple pour accéder à ces outils consiste à les utiliser dans un conteneur Docker. Cette approche permet de garder votre environnement local propre et d'éviter toute installation manuelle.

Si Docker ne fait pas partie de votre workflow, aucun souci. Vous pouvez découvrir Code-Hero sur Stackhero. Cette plateforme de développement accessible depuis le navigateur vous permet de travailler directement en ligne, sans rien installer localement. Vous pouvez en savoir plus et l'essayer en quelques minutes en visitant Code-Hero sur Stackhero.

Pour commencer avec Docker, lancez un conteneur MySQL avec la commande suivante :

docker run -it -v $(pwd):/mnt mysql:<MYSQL_VERSION> /bin/bash

Remplacez <MYSQL_VERSION> par la version souhaitée. Par exemple, si vous utilisez MySQL 8.0.36-0 sur Stackhero, indiquez 8.0.36 (sans le -0 à la fin).

Une fois le conteneur lancé, vous pouvez tester la connexion avec cette commande :

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT>

Votre répertoire courant est monté dans /mnt à l'intérieur du conteneur (grâce à l'argument $(pwd):/mnt). Cette configuration facilite le transfert de fichiers entre votre ordinateur et le conteneur. Par exemple, pour sauvegarder une base de données sur votre machine, utilisez :

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > /mnt/<DATABASE>.sql

Pour créer une sauvegarde (ou "dump") de votre base de données, vous pouvez utiliser l'outil mysqldump directement depuis votre ordinateur. (Reportez-vous à la section précédente pour l'exécuter dans Docker si vous préférez.)

Pour exporter une base de données depuis votre instance Stackhero vers votre ordinateur, lancez :

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > <DATABASE>.sql

Veillez à remplacer <XXXXXX>.stackhero-network.com, <PORT> et <DATABASE> par les informations de votre instance. Après avoir lancé la commande, il vous sera demandé le mot de passe root. L'outil mysqldump enregistrera alors les tables de votre base dans un fichier nommé <DATABASE>.sql.

Pour importer une base de données depuis votre ordinateur vers votre instance Stackhero, utilisez la commande suivante :

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql

N'oubliez pas de remplacer yourDump.sql par le nom réel du fichier SQL à importer.