J'ai besoin de faire un mysqldump d'une base de données sur un serveur distant, mais le serveur n'a pas mysqldump installé. Je voudrais utiliser mysqldump sur ma machine pour me connecter à la base de données distante et faire le vidage sur ma machine.
J'ai essayé de créer un tunnel ssh puis de faire le vidage, mais cela ne semble pas fonctionner. J'ai essayé:
ssh -f -L3310:remote.server:3306 user@remote.server -N
Le tunnel est créé avec succès. Si je fais
telnet localhost 3310
Je reçois un texte de présentation qui montre la version correcte du serveur mysql. Cependant, faire ce qui suit semble essayer de se connecter localement
mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name
Réponses:
Comme je ne l'ai pas encore vu sur serverfault, et la réponse est assez simple:
Changement:
À:
Et changer:
À:
(n'utilisez pas localhost, c'est une de ces absurdités de 'signification spéciale' qui se connecte probablement par socket plutôt que par port)
edit : eh bien, pour élaborer: si l'hôte est défini sur
localhost
, une--socket
option configurée (ou par défaut) est supposée. Consultez le manuel pour savoir quels fichiers d'options sont recherchés / utilisés. Sous Windows, cela peut être un tube nommé.la source
localhost
défaut est souvent::1
IPv6, non127.0.0.1
.On peut invoquer mysqldump localement sur un serveur distant.
Exemple qui a fonctionné pour moi:
J'ai suivi la documentation mysqldump sur les options de connexion.
la source
-p
c'est pour l'argument mot de passe - pas le nom de la base de données. Mais il n'est pas sûr de le stocker en texte brut, donc l'ajout-p
signifie que vous serez invité à entrer le mot de passe lors de la connexion. Peut - être juste moi , mais lamysql
et donc lamysql
syntaxe de vidage n'a jamais été tout ce que tout droit dans la mesure où les arguments de ligne de commande.Bassé sur cette page ici:
Comparez deux bases de données MySQL
Je l'ai modifié pour que vous puissiez utiliser ddbb dans différents hôtes.
la source
mysqldump du serveur distant utilise SSL
1- Sécurité avec SSL
192.168.0.101 - serveur distant
192.168.0.102 - serveur local
Remore serveur
-
Serveur local
=====================================
2 - Sécurité avec SSL (REQUIRE X509)
192.168.0.101 - serveur distant
192.168.0.102 - serveur local
Remore serveur
-
Serveur local
[Remarque]
Sur le serveur local
/ usr / local / mysql / data / ssl /
Copiez ces fichiers du serveur distant pour (REQUIRE X509) ou si SSL sans (REQUIRE X509) ne copiez pas
Sur un serveur distant
/ usr / local / mysql / data /
my.cnf
Augmenter la sécurité des mots de passe
https://dev.mysql.com/doc/refman/8.0/en/password-security-user.html
la source