Maison > Questions et réponses > le corps du texte
J'ai installé MysqlServer et Mysql Workbench sur mon ordinateur. Le serveur fonctionne bien (vert). J'ai maintenant un serveur d'hébergement partagé et je souhaite obtenir les données d'une base de données sur mon ordinateur via un script PHP. Il n'y a pas encore de base de données ni de données car je souhaite d'abord établir une connexion entre les deux serveurs. J'ai essayé de me connecter plusieurs fois mais jusqu'à présent sans succès.
→ À l'aide du fichier d'options de Workbench, je mets dans bind-address l'adresse IP fournie par le serveur d'hébergement. (c'est-à-dire le serveur distant auquel je souhaite accéder depuis MysqlServer sur mon ordinateur).
→ J'ai également activé la connexion SSL puisque mon site d'hébergement est basé sur SSL.
→ Ensuite, dans Utilisateurs et autorisations, j'ai mis % sur root pour que root puisse se connecter à MysqlServer sur mon ordinateur depuis un autre hôte (pas seulement localhost).
→ J'ai autorisé la règle entrante pour le port 3306 sur le pare-feu Windows.
→ Le code de base que j'utilise est une connexion de base de données PHP PDO, où $host est l'adresse IP publique de mon ordinateur, $port est 3306, $root est root et le mot de passe est le mot de passe que j'ai créé lors de l'installation de MysqlServer.
Le code de base que j'utilise est :
try { $dbh = new PDO("mysql:host=".$host.";port=".$port, $root, $root_password); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } ?>
→ L'erreur que j'ai rencontrée était : SQLSTATE[HY000] [2002] Impossible de se connecter au serveur MySQL "Adresse IP publique de mon ordinateur".
Quelqu'un a-t-il rencontré ce problème ? Voyez-vous quelque chose de bizarre qui pourrait m'aider ? Toutes les réponses, suggestions, commentaires ou questions sont les bienvenus.
P粉5117495372023-09-07 16:22:10
Il existe deux façons de se connecter à la base de données :
$connect = new PDO('mysql:host=localhost;port=3306;dbname=dbname','root',''); $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
ou
$connect = new mysqli("localhost","root","","dbname");