Maison  >  Questions et réponses  >  le corps du texte

Connectez Visual Studio Code à une base de données MySQL distante : simplifiez le processus de connexion

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 ?)

P粉211273535P粉211273535330 Il y a quelques jours647

répondre à tous(2)je répondrai

  • P粉533898694

    P粉5338986942023-10-25 11:42:07

    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

    répondre
    0
  • P粉513316221

    P粉5133162212023-10-25 11:23:56

    Enfin après une journée entière :

    Utilisation de macOS :

    1. 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

    • Connectez-vous en utilisant votre port et votre panneau C.

    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.

    répondre
    0
  • Annulerrépondre