Linux MySQL Connect : connecter votre base de données MySQL et MariaDB à un serveur Cloud
Vous pouvez facilement connecter votre base de données MySQL ou MariaDB à un serveur Cloud Linux pour exécuter vos applications de manière plus flexible. Avec les bons identifiants et une configuration adaptée, la connexion MySQL sous Linux s’effectue simplement et rapidement.
- Solutions flexibles, adaptées à vos besoins
- Architecture de niveau professionnel, gérée par des experts
- Hébergées en Europe, conformément aux normes de protection des données les plus strictes
Linux MySQL Connect : quelles sont les exigences requises au préalable ?
- Un serveur Cloud fonctionnant sous Linux (toute distribution compatible).
- Une pile LAMP installée et opérationnelle (Apache, MySQL/MariaDB et PHP).
- Si un pare-feu est activé, assurez-vous que l’accès au port 3306 est ouvert pour le serveur MySQL/MariaDB.
Linux MySQL Connect : guide étape par étape
Les bases de données sont souvent reliées à des serveurs Cloud Linux pour afin d’offrir une gestion flexible et évolutive. Cela permet à plusieurs services ou applications Web d’accéder aux mêmes données sans nécessiter d’installations locales distinctes.
Un serveur Cloud facilite également la maintenance, les sauvegardes et les mises à jour de sécurité de la base de données.
Dans ce tutoriel, nous vous expliquons comment configurer une base de données MySQL ou MariaDB sur un serveur Linux et la connecter à un script PHP.
Étape 1 : créer une base de données d’exemple
Pour ce tutoriel, nous allons utiliser une base de données de test. Pour la créer, commencez par vous connecter :
mysql -u root -pCréez la base de données de test avec la commande suivante :
CREATE DATABASE phptest;Passez maintenant à la base de données de test :
USE phptest;Créez maintenant une table d’exemple simple. Dans cet exemple, nous allons créer une table destinée à enregistrer les employés :
CREATE TABLE employes (ID INT, Nom VARCHAR(40));Ajoutez maintenant deux employés à la table :
INSERT INTO employes VALUES (1, 'Alice');
INSERT INTO employes VALUES (2, 'Bob');Pour vérifier si les enregistrements ont été créés correctement, vous pouvez utiliser la requête SQL suivante :
SELECT * FROM employes;La sortie devrait ressembler à ceci :
+------+-------+
| ID | Nom |
+------+-------+
| 1 | Alice |
| 2 | Bob |
+------+-------+
2 rows in set (0,002 sec)Étape 2 : créer un utilisateur MySQL/MariaDB
Pour autoriser un accès sécurisé à la base de données MySQL/MariaDB et empêcher tout accès non autorisé, créez un nouvel utilisateur dédié.
Reconnectez-vous ensuite au serveur de base de données à l’aide du client MySQL ou MariaDB :
mysql -u root -pLa commande suivante crée un utilisateur et lui accorde des permissions pour la base de données que nous avons créée à la première étape :
CREATE USER [NomUtilisateur]@[Emplacement] IDENTIFIED BY [MotDePasse];
GRANT ALL PRIVILEGES ON [NomBaseDeDonnees].* TO [NomUtilisateur]@[Emplacement];
FLUSH PRIVILEGES;Remplacez les éléments suivants dans la commande ci-dessus :
[NomBaseDeDonnees]: le nom de votre base de données.[NomUtilisateur]: le nom de l’utilisateur que vous souhaitez créer.[Emplacement]: l’emplacement du script PHP. Si le script PHP et la base de données MySQL se trouvent sur le même serveur, utilisezlocalhost. Sinon, indiquez l’adresse IP du serveur hébergeant le script PHP.[MotDePasse]: un mot de passe sécurisé pour votre utilisateur.
Par exemple, pour créer un utilisateur nommé phpuser avec le mot de passe Ig86N3tUa9, situé sur le même serveur que la base de données MySQL et ayant accès à la base phptest, exécutez la commande suivante :
CREATE USER 'phpuser'@'localhost' IDENTIFIED BY 'Ig86N3tUa9';
GRANT ALL PRIVILEGES ON phptest.* TO 'phpuser'@'localhost';
FLUSH PRIVILEGES;Pour créer un deuxième utilisateur nommé phpuser2, qui se connecte à partir d’un serveur avec l’adresse IP 192.168.0.1, la commande est la suivante :
CREATE USER 'phpuser2'@'192.168.0.1' IDENTIFIED BY 'Rq53yur62I';
GRANT ALL PRIVILEGES ON phptest.* TO 'phpuser2'@'192.168.0.1';
FLUSH PRIVILEGES;
Étape 3 : créer un script PHP
Pour tester la connexion entre votre application PHP sur le serveur Linux et la base de données, nous allons créer un petit script de test. Ce script se connecte à la base de données de test, lit les données d’une table et les affiche dans le navigateur. Cela permet de vérifier que l’utilisateur, le mot de passe et l’hôte sont correctement configurés et que la base de données est accessible.
Commencez par créer le script de test :
sudo nano /var/www/html/phpconnect.phpEnsuite, insérez le contenu suivant dans le fichier :
<html>
<head>
<title>Test PHP Connection Script</title>
</head>
<body>
<h3>Welcome to the PHP Connect Test</h3>
<?php
$dbname = [NomBaseDeDonnees];
$dbuser = [NomUtilisateur];
$dbpass = [MotDePasse];
$dbhost = [Emplacement];
// Établir la connexion
$connect = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if (!$connect) {
die("Échec de la connexion : " . mysqli_connect_error());
}
// Interroger les données
$result = mysqli_query($connect, "SELECT ID, Nom FROM employes");
while ($row = mysqli_fetch_assoc($result)) {
echo "ID: {$row['ID']} Name: {$row['Nom']}<br>";
}
mysqli_close($connect);
?>
</body>
</html>htmlRemplacez NomUtilisateur, MotDePasse, Emplacement et NomBaseDeDonnees par les données correspondantes. Par exemple, si vous souhaitez tester une connexion locale, c’est-à-dire lorsque le script et la base de données se trouvent sur le même serveur, utilisez la configuration suivante :
$dbname = 'phptest';
$dbuser = 'phpuser';
$dbpass = 'Ig86N3tUa9';
$dbhost = 'localhost';Pour tester une connexion distante, lorsque le script se trouve sur un autre serveur que la base de données, attribuez les valeurs suivantes aux variables :
$dbname = 'phptest';
$dbuser = 'phpuser2';
$dbpass = 'Rq53yur62I';
$dbhost = '192.168.0.2';Résolution des problèmes lors d’une connexion MySQL/MariaDB à distance
Si votre application PHP ou un autre script ne parvient pas à se connecter à la base de données MySQL/MariaDB depuis un serveur distant, plusieurs causes peuvent expliquer ce problème. Les solutions suivantes peuvent vous aider à identifier et corriger le problème.
Solution 1 : vérifier l’utilisateur et ses autorisations
En cas d’échec de connexion à une base de données MySQL/MariaDB hébergée sur un autre serveur, vérifiez d’abord les points suivants :
- Le nom d’utilisateur et le mot de passe MySQL/MariaDB sont-ils corrects ?
- L’utilisateur dispose-t-il du bon emplacement d’accès configuré ?
Par défaut, MySQL et MariaDB n’autorisent les connexions qu’à partir de l’hôte défini lors de la création de l’utilisateur. Par exemple, si l’utilisateur a été créé de cette manière :
CREATE USER 'phpuser'@'localhost' IDENTIFIED BY 'Ig86N3tUa9';
GRANT ALL PRIVILEGES ON phptest.* TO 'phpuser'@'localhost';
FLUSH PRIVILEGES;dans ce cas, la connexion ne fonctionnera que sur le même serveur que celui où s’exécute la base de données (localhost). Un script hébergé sur un autre serveur nécessite donc un utilisateur configuré avec l’adresse IP distante ou le caractère générique % (pour autoriser tous les hôtes).
Solution 2 : tester la connexion en ligne de commande
Avant de dépanner le script PHP, testez d’abord la connexion directement depuis la ligne de commande MySQL. Sur le serveur où s’exécute le script, utilisez la commande suivante :
mysql -u [NomUtilisateur] -h [Emplacement] -pPour établir une connexion à une base de données sur 192.168.0.2 avec le nom d’utilisateur phpuser2, la commande est la suivante :
mysql -u phpuser2 -h 192.168.0.2 -pSi la connexion est réussie, cette commande ouvrira une session dans le client MySQL/MariaDB du serveur distant.
Solution 3 : pare-feu
Vérifiez que les règles du pare-feu autorisent le trafic TCP/UDP sur le port 3306 du serveur de base de données. Gardez à l’esprit que tous les serveurs Cloud appliquent par défaut une politique de pare-feu gérée via le Cloud Panel.

