Ces derniers jours, la société a lancé un nouveau projet basé sur des composants, qui nécessite l'utilisation de technologies liées aux bases de données MySQL. Depuis que j'utilise MongoDB auparavant, MySQL a presque été oublié, je ne peux donc que commencer. dans une étude de machine virtuelle Linux.
L'ajout, la suppression, la modification et la requête de base se sont bien déroulés, mais j'ai rencontré quelques problèmes avec la sauvegarde des données. Heureusement, j'ai finalement réussi après quelques tentatives.
L'API de Mysql et la commande de sauvegarde mentionnée sur Internet sont : mysqldump -uroot –p nom de la base de données à sauvegarder> chemin cible/nom du fichier cible.sql, donc je l'ai tapé à nouveau, mais le résultat a été signalé Une exception s'est produite en 2002 (Supplémentaire : lorsque j'ai utilisé cette commande pour la première fois, cela m'a indiqué que mysqldump était introuvable. Plus tard, j'ai utilisé un lien logiciel ln pour connecter l'adresse réelle de la commande mysqldump à usr/bin) :
mysqldump:Got error: 2002: Can't connect to local MySQL server through socket'/tmp/mysql.sock' (2) when trying to connect, 如图1:
Ainsi, après avoir vérifié les informations, j'ai apporté quelques modifications, comme le montre la figure 2 :
Mais, à ce moment-là, 2002 Il a disparu, mais à la place il y a une erreur 1045 : mysqldump : Erreur obtenue : 1045 : Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI) lors de la tentative de connexion, comme montré dans la figure 3 :
Je suppose que cela signifie qu'il y a un problème avec les autorisations de l'utilisateur root et de l'hôte local, car je m'en souviens lorsque j'ai configuré l'accès à distance MySQL , j'ai défini l'hôte sur %. Comme le montre la figure 4 :
. Ainsi, après une nouvelle recherche en ligne, j'ai trouvé une autre commande de sauvegarde, je l'ai essayée et j'ai constaté qu'elle fonctionnait, comme le montre la figure 5 :
À ce stade, la base de données mysql a été sauvegardée avec succès dans la machine virtuelle Linux, mais cette commande était trop longue. Ensuite, j'ai pensé que l'API de mysql devrait être correcte, j'ai donc pensé à l'optimiser.
Eh bien, puisque je peux probablement deviner que l'erreur 1045 est un problème avec les autorisations des utilisateurs, je vais commencer à partir d'ici. S'il n'y a pas d'hôte local racine, ajoutez-le. Entrez dans la base de données, utilisez MySQL, comme indiqué dans la figure 4, puis ajoutez l'utilisateur, comme indiqué dans la figure 6 :
Vérifiez à nouveau la table utilisateur, vous peut constater qu'elle a été ajoutée avec succès, comme le montre la figure 7 :
Ensuite, la commande de sauvegarde peut être remplacée par celle optimisée, comme le montre la figure 8 :
Évidemment, la commande est devenue plus courte, mais elle n'est toujours pas assez courte, j'ai donc cherché à nouveau des informations et trouvé une solution dont je dois lier le. adresse de pointage réelle de mysql.sock vers l'adresse dans l'erreur de 2002. Ma modification est comme indiqué dans la figure 9 :
Ensuite, c'est probablement le moment. pour assister au miracle. Il est temps de vérifier ce que dit l'API : entrez la commande, appuyez sur Entrée et sauvegardez à nouveau avec succès, comme le montre la figure 10 :
.
Pour résumer, pour la sauvegarde, il peut être subdivisé en trois méthodes de commande. Si vous le comprenez à peine, vous saurez qu'en fait, ce n'est qu'un seul type.
Ce qui précède est une explication détaillée du problème de sauvegarde des données à l'aide de la commande mysql sous Linux. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !