2009-11-19 4 views

Répondre

5

ses simples toutes Thise techniques ci-dessus sont assez compliquées

supposons que vous avez base de données sur le serveur B et le site Web sur le serveur A (dire qu'il a IP 192.234.12.1)

sur cPanel l'adresse IP du liste blanche serveur B

et créer un nouvel utilisateur ayant des privilèges suffisants dans la base de données (par exemple cet utilisateur est test)

puis créez cet utilisateur comme [email protected]

2

Oui.

De la même manière que vous accédez à l'hôte local sur le même serveur, vous remplacez l'hôte de base de données par l'hôte externe. Ceci est plus un problème de configuration, vous devez accorder à votre utilisateur de base de données un accès à distance à votre MySQL, vous devez également vous assurer que votre pare-feu autorise les connexions sur le port MySQL.

Exemple sur Debian: http://www.debianhelp.co.uk/remotemysql.htm

0

C'est tout ce que vous need.

(Même si vous pouvez avoir vos scripts sur le serveur A, votre serveur Web sur le serveur B et la base de données sur le serveur C ...)

2

Ne tapez pas le nom d'hôte de l'autre boîte pour la connexion. Les détails dépendent de l'extension que vous utilisez:

$mysql = mysql_connect($host, $user, $pass); 
$mysqli = new mysqli($host, $user, $password, $schema); 
$pdo = new PDO("mysql:host=$host", $user, $pass); 

Assurez-vous que l'utilisateur est autorisé à accéder par le serveur MySQL (CREATE USER) et vérifiez qu'il n'y a pas de pare-feu de la manière.

0

J'avais des défis similaires mais voici ce qui fonctionne pour moi: Pour vous connecter au serveur B depuis le serveur A, vous devez d'abord autoriser les hôtes d'accès MySQL distants dans cPanel (Serveur B), Accueil -> Bases de données -> MySQL distant et également ajouter l'adresse IP dans le pare-feu (c'est-à-dire l'adresse IP du serveur B). Ensuite, la connexion php db suivante devrait fonctionner.

$db_connect = mysqli_connect("serverB.com", "dbuser", "dbpassword", "dbname"); 
// Evaluate the connection 
if (mysqli_connect_errno()) { 
    echo mysqli_connect_error(); 
    exit(); 
}else{ 
    //successful connection 
    echo "Yes, successful"; 
} 
1

Oui, cela peut être fait.

Découvrez l'adresse IP du serveur A où vos scripts seront téléchargés. N'oubliez pas de remplacer l'hôte local par l'adresse IP du serveur B dans la méthode mysql_connect() ou mysqli_connect().

Maintenant, allez dans le panneau de contrôle du serveur B où se trouve votre base de données.

Dans la page d'accueil du panneau de configuration, accédez à la section bases de données et cliquez sur l'option Remote MYSQL.

Ensuite, ajoutez l'adresse IP du serveur A et cliquez sur Ajouter un hôte. Maintenant vous pouvez accéder à la base de données dans le serveur B pendant que vos scripts s'exécutent dans le serveur A. Notez que le résultat récupéré sera lent car il récupère des données de la base de données située sur un autre serveur. Nous vous souhaitons la bienvenue.

Questions connexes