J'ai une connexion entre mon hôte local et un serveur distant utilisant le tunnel PuTTY SSH.
C'est très bien.
Maintenant, j'ai besoin d'une commande pour obtenir le fichier sql sur ma machine locale, c'est-à-dire c:\folder\test.sql et l'importer dans mysql sur le serveur distant
Je pensais que peut-être ...
mysql -u prefix_username -p testpass -h localhost -P 3307 prefix_testdb
puis faites une commande comme
mysql -p testpass -u prefix_username prefix_testdb < c:\folder\test.sql
cette commande n'a pas fonctionné.
Comment puis-je y parvenir?
Vous devez exécuter cette commande
mysql -h Host -u user_name -pPassword database < file.sql > output.log
file.sql contient les requêtes SQL à exécuter et output.log n'a de sens que lorsque vous avez une requête qui renvoie quelque chose (comme une sélection)
La seule chose différente que je peux voir dans votre code est l'espace vide entre l'option -p et le mot de passe. Si vous utilisez l'option -p, vous devez écrire le mot de passe sans laisser d'espace vide. Ou vous pouvez simplement utiliser l'option --password = Password
J'espère que vous pourrez résoudre le problème
Vous aurez besoin de ssh sur la machine distante avec la commande mysql ajoutée:
ssh remote_user@remote_server mysql -p testpass -u username testdb < c:\folder\test.sql
1. mysql -h xxx -uxxx -pxxx . //login to the remote mysql
2. use DATABASE. //assign which db to import
3. source path/to/file.sql //the path can be your local sql file path.
Référence: Importer un fichier SQL dans mysql
Utilisez 'scp' pour copier et mysql pour vous insérer sur votre machine locale.
Syntaxe:
scp remote_user@remove_server:/path/to/sql/file.sql ~/path/to/local/directory
après avoir transféré le fichier, utilisez:
mysql -uYouUserName -p name_of_database_to_import_to < ~/path/to/local/directory/file.sql