Importez ou exportez une base de données à partir de la base de données MySQL ou MariaDB à partir du shell MySQL ou de la ligne de commande. C'est la méthode la plus simple pour exporter une base de données ou une table particulière à partir d'une base de données.
Si vous avez une énorme base de données de plus de 500 Mo, il sera très difficile de l'exporter, ce qui prend plus de temps pour importer ou exporter l'intégralité de la base de données, ce qui peut entraîner une erreur de délai d'attente.
Dans ce guide, vous allez apprendre à importer ou à exporter une base de données à l'aide de la ligne de commande à partir du shell MySQL. Vous apprendrez également quelques solutions aux problèmes où vous ne pouvez pas exporter votre base de données.
Prérequis
- Accès SSH au serveur.
- Nom d'utilisateur MySQL, nom de la base de données, mot de passe pour exporter la base de données.
- Utilisateur et mot de passe MySQL disposant des privilèges nécessaires pour créer une base de données à importer.
Exporter la base de données MySQL à partir de la ligne de commande
Connectez-vous à votre serveur SSH et notez le nom de votre base de données, votre nom d'utilisateur et votre mot de passe. Assurez-vous que votre utilisateur dispose d'un accès complet à la base de données que vous souhaitez exporter.
Vous pouvez utiliser la commande suivante pour exporter la totalité de la base de données.
mysqldump -u username -p database_name > filename.sql
Vous serez invité à entrer le mot de passe pour le nom d'utilisateur.
Une fois que vous avez entré le mot de passe, votre base de données sera exportée vers un .sql
format de fichier et stocké dans votre répertoire actuel.
Problèmes où vous ne pouvez pas exporter la base de données
Erreur d'accès refusé.
- Vous pouvez essayer de vous connecter en tant qu'utilisateur root
sudo su
et exportez la base de données. - Peut être une incompatibilité de mot de passe.
- Il se peut que l'utilisateur ne dispose pas de privilèges suffisants pour la base de données.
Accès refusé PROCESS erreur(s) de privilège(s).
Vous devez utiliser le --no-tablespaces
avec le mysqldump
commande. Ainsi, la commande ressemblera à celle ci-dessous.
mysqldump --no-tablespaces -u username -p database_name > filename.sql
Exporter uniquement certains tableaux
Pour exporter des tables spécifiques d'une base de données à partir de la ligne de commande, vous devez transmettre les noms de table comme indiqué ci-dessous.
mysqldump -u username -p database_name table1 table2 > filename.sql
La commande ci-dessus n'exportera que les noms de table spécifiés.
Importer des données MySQL à partir de la ligne de commande
C'est la meilleure méthode pour importer un énorme fichier de base de données sans aucune erreur.
Téléchargez le .sql
fichier sur votre serveur. Connectez-vous à SSH et accédez au répertoire dans lequel vous avez téléchargé le fichier de base de données.
Si vous n'avez pas de base de données, vous devez vous connecter en tant qu'utilisateur root pour créer une base de données.
CREATE DATABASE database_name /*\!40100 DEFAULT CHARACTER SET utf8mb4 */;
Pour importer la base de données, vous pouvez utiliser la commande suivante.
mysql -u username -p database_name < backup.sql
Assurez-vous d'avoir suffisamment de privilèges sur votre base de données.
Attention : Si vous utilisez >
au lieu de <
. Toutes les données de backup.sql seront effacées ou corrompues.
Si la taille de votre fichier est importante, le temps d'importation ou d'exportation sera élevé.
Conclusion
Vous savez maintenant comment exporter et importer une base de données MySQL à partir de la ligne de commande.
Merci pour votre temps. Si vous rencontrez un problème ou des commentaires, veuillez laisser un commentaire ci-dessous.