Connexion à distance à une base de données MySql avec PHP

Par défaut, l'accès à distance au serveur de base de données MySQL est désactivé pour des raisons de sécurité. Cependant, vous pouvez fournir un accès distant au serveur de base de données à un utilisateur depuis votre control panel. 

 

Dans cet article nous vous montrons les étapes à suivre pour accéder à MySQL distant en localhost avec PHP.

 

1. Connectez vous à votre control panel en suivant les étapes au lien suivant: https://www.myvala.com/knowledgebase/140/Comment-se-connecter-au-Control-Panel.html

 

2. Allez sur la rubrique MySQL Databases

 

3. Créez un utilisateur: 

  1. saisissez le nom de l’utilisateur
  2. sélectionner la base de données
  3. saisissez le mot de passe
  4. Puis cliquez sur Create MySQL user

4. Allez sur la rubrique Remote MySQL access 

 

5. Choisissez Database User 


6. Puis l’IP Adresse à laquelle vous autorisez la connexion distante, assurez vous svp que c’est la bonne adresse IP.

Vous pouvez autoriser un ou plusieurs IP addresses.

7. Puis cliquez sur Add Host, et attendez environ 30 min.

8. Créez un fichier .php sur le localhost, puis copiez le code ci-dessous et changez les informations de connexion base de données par les vôtres.

 

Dans notre exemple, les informations de notre base de données sont: 

Hostname: mysql.stackcp.com

Username: userdb12

Mot de passe : celui que vous avez configuré lors de la création de l’utilisateur

Port: 58056

 

Pour l’affichage des données on va utiliser la table user et le colonne Email.

<?php
$host = 'mysql.stackcp.com';
$db   = 'db-remote-31393562f8';
$user = 'userdb12';
$pass = 'Password1234';
$port = "58056";
$charset = 'utf8mb4';
 
$options = [
    \PDO::ATTR_ERRMODE            => \PDO::ERRMODE_EXCEPTION,
    \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
    \PDO::ATTR_EMULATE_PREPARES   => false,
];
$dsn = "mysql:host=$host;dbname=$db;charset=$charset;port=$port";
try {
     $pdo = new \PDO($dsn, $user, $pass, $options);
 
//example
 $sql =  'SELECT Email FROM user';
foreach  ($pdo->query($sql) as $row) {
    print $row['Email'] . "\t";
}
 
} catch (\PDOException $e) {
     throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
?>

10. Le résultat s’affiche correctement.

  • 6 Utilisateurs l'ont trouvée utile
Cette réponse était-elle pertinente?

Related Articles

Comment importer un fichier .sql via la ligne de commande?

Si vous n'arrivez pas à exporter ou importer votre base de données via phpmyadmin, il est...

Comment puis-je sauvegarder une base de données MySQL ?

Cet article vous propose comment vous pouvez exporter une base de donnée MySQL:   1. Connectez...

MySQL Remote Access avec le logiciel HeidiSQL / MySQL distant

Par défaut, l'accès à distance au serveur de base de données MySQL est désactivé pour des raisons...

Comment créer une base de donnée Mysql ?

Pour les offres de types Hébergement Mutualisé Linux/Windows et Serveur Dédié Clé-en-main. Cet...

Importer une base de données MySQL via phpMyAdmin

Cet article vous propose comment vous pouvez importer une base de donnée MyQSL, dans les sept...