2010-08-17 12 views
5

Tak więc znajomy i ja używamy zarówno xampp na ubuntu, jeśli to pomaga, do łączenia się ze sobą nawzajem, Oboje stworzyliśmy ten sam plik php do połączenia, więc używamy de IP z drugiej strony, ale potem mówi błądDostęp do bazy danych MySql XAMPP z innego komputera

Warning: mysql_connect() [function.mysql-connect]: Host 'coke-laptop.local' is not allowed to connect to this MySQL server in /opt/lampp/htdocs/connection.php on line 2 
Could not connect: Host 'coke-laptop.local' is not allowed to connect to this MySQL server 

mamy ten kod w pliku connection.php:

<?php 
$link = mysql_connect('10.100.161.37','root',''); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
//echo 'Connected successfully'; 

$db_selected = mysql_select_db('Prueba', $link); 
if (!$db_selected) { 
    die ('Can\'t use Prueba : ' . mysql_error()); 
} 

// This could be supplied by a user, for example 
$firstname = 'fred'; 
$lastname = 'fox'; 

// Formulate Query 
// This is the best way to perform an SQL query 
// For more examples, see mysql_real_escape_string() 
$query = sprintf("SELECT * FROM Agencia"); 

// Perform Query 
$result = mysql_query($query); 

// Check result 
// This shows the actual query sent to MySQL, and the error. Useful for debugging. 
if (!$result) { 
    $message = 'Invalid query: ' . mysql_error() . "\n"; 
    $message .= 'Whole query: ' . $query; 
    die($message); 
} 

// Use result 
// Attempting to print $result won't allow access to information in the resource 
// One of the mysql result functions must be used 
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc. 
while ($row = mysql_fetch_assoc($result)) { 
    echo $row['ID'] . " "; 
    echo $row['Nombre'] . "\n\r"; 
} 

// Free the resources associated with the result set 
// This is done automatically at the end of the script 
mysql_free_result($result); 
mysql_close($link); 
?> 

Jeśli używamy IP ot tak, możemy wejść każde inne xampp normalna strona powitalna.

+0

dałeś 'koks-laptop.local' dostęp do bazy danych? To znaczy. jest użytkownik dla tego hosta, który może uzyskać dostęp do bazy danych? – Stephen

Odpowiedz

9

Sprawdź włączony zdalny dostęp do serwera MySQL. Otwórz plik my.cnf (prawdopodobnie znaleźć wewnątrz xampp/etc /), przejdź do sekcji [mysqld] i dodać następujące (przy użyciu własnego adresu IP zamiast przykładzie)

bind-address=192.168.1.100 

Jeśli istnieje linia, która mówi skip-networking, komentarz, że się tak wygląda to tak:

# skip-networking 

następnie zrestartować serwer MySQL

1

Wygląda na to, że baza danych MySQL nie pozwala na zdalne łączenie się z podanymi danymi uwierzytelniającymi. Będziesz musiał skonfigurować zdalnego użytkownika do połączenia. Spróbuj przejrzeć MySQL Grants.

Dla przykładu:

GRANT SELECT, INSERT ON database.* TO 'someuser'@'somehost'; 
Powiązane problemy