Je sais que cela devrait être plus ciblé, mais j'ai perdu une journée entière à faire ça et je n'arrive pas à comprendre.
J'essaie de me connecter à une base de données MySQL distante à l'aide de n'importe quelle extension VS Code disponible.
J'ai essayé d'utiliser SQLTools avec le plugin MySQL/MariaDB, ApexSQL Database Power Tools for VS Code, vscode-database.
J'ai lu toute la documentation et recherché des exemples ici et dans d'autres logiciels. Tout ce que j'ai trouvé, c'est de me connecter à la base de données localhost.
Je ne vais tout simplement pas énumérer toutes les combinaisons que j’ai essayées parce que j’ai l’impression de les avoir toutes essayées. Utilisez toutes les méthodes de connexion possibles.
Le plus gros problème que j'ai avec plusieurs méthodes est lorsque je saisis l'adresse du serveur distant et le nom d'utilisateur. Ce nom d'utilisateur est toujours transféré à : username@'93-138-183-84.adsl.net.t-com.hr'
Le 93-138-183-84.adsl.net.t-com.hr est mon adresse IP actuelle.
J'obtiens l'erreur suivante :
Error connecting to server: Access denied for user 'xxx'@'93-138-183-84.adsl.net.t-com.hr' (using password: YES)
J'ai essayé d'utiliser des chaînes et des exemples de paramètres tels que :
Server=xxx;Port=3306;Database=xxx;Uid=xxx;Pwd=xxx; { "name": "MySQL", "server": "my server adress", "driver": "MySQL", "port": 3306, "database": "xxx", "username": "xxx", "askForPassword": false, "password": "xxx", "connectionTimeout": 15, "mysqlOptions": { ... // options See section 2. mysqlOptions } }
Rien ne fonctionne pour moi
PS : j'ai vérifié l'adresse du serveur, l'utilisateur et le port dans la base de données, donc je ne pense pas que mes informations d'identification soient erronées. J'ai essayé d'utiliser l'utilisateur root pour une base de données spécifique et l'ensemble du serveur.Est-il possible de se connecter à une base de données MySQL distante à partir du code VS pour exécuter une requête (si oui, quoi et comment ?)
J'ai également rencontré le même problème et je l'ai finalement résolu. Configurez votre utilisateur MySQL pour qu'il utilise des caractères génériques dans le champ hôte. Par défaut, lorsque vous configurez un nouvel utilisateur dans MySQL, le champ « hôte » de l'utilisateur est défini sur « localhhost ». Lorsque vous essayez de vous connecter à un serveur MySQL distant depuis VSC, il envoie la chaîne "nom d'utilisateur" @ "hôte" où "hôte" est l'adresse IP de la machine à partir de laquelle vous vous connectez. J'ai configuré l'utilisateur mysql comme suit et la connexion fonctionne correctement :
Créez l'utilisateur "sammy"@"192.168.0.%" identifié par "mot de passe"
;Cela permettra à l'utilisateur Sammy d'accéder à MySQL depuis n'importe où sur le réseau spécifié par l'adresse IP, en l'occurrence mon réseau interne. Vous pouvez simplement utiliser "%" et omettre l'adresse IP afin que les utilisateurs puissent accéder de n'importe où.
Tout est ici : https://dev.mysql.com/doc/refman/5.7/en/create-user.html
Enfin après une journée entière :
Utilisation de macOS :
J'ai déjà ajouté les clés SSH au système, il me suffit donc d'ouvrir le tunnel, c'est aussi simple qu'une ligne, expliqué ci-dessous : Comment se connecter à la base de données MySQL à l'aide du tunnel SSH
ssh -p 722 -N -L 3306:localhost:3306 user@servername
Prochaine étape dans VS Code (en utilisant SQLTools et MySQL/MariaDB plugin) :
Utilisez
127.0.0.1
comme adresse du serveur et entrez les informations d'identification de votre base de données.C'est tout.
Vous pouvez désormais compléter automatiquement les méthodes SQL, les déchets SQL et compléter automatiquement toutes les tables et tous les champs des bases de données distantes dans VS-Code.