从另一台计算机访问XAMPP MySql数据库

问题描述:

所以我的一个朋友和我在ubuntu上都使用xampp,如果有帮助,在彼此的网站之间进行连接,我们都创建了相同的php文件来连接,所以我们使用de IP其他的,但后来它说错误从另一台计算机访问XAMPP MySql数据库

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 

我们对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); 
?> 

如果我们使用的IP就这样,我们就可以进入对方的XAMPP正常的欢迎页面。

+0

你提供给数据库'焦炭laptop.local'访问?即该主机的用户可以访问数据库吗? – Stephen 2010-08-17 21:47:14

检查已启用MySQL服务器的远程访问。打开my.cnf文件(里面XAMPP的/ etc /可能会发现),转到[mysqld]部分,并添加以下内容(使用自己的IP地址,而不是实例)

bind-address=192.168.1.100 

如果有这样一行skip-networking,评论说出来,所以它看起来是这样的:

# skip-networking 

然后重新启动MySQL服务器

它看起来像你的MySQL数据库不允许你远程连接你提供的凭据。您将需要配置远程用户进行连接。尝试调查MySQL Grants

例如:

GRANT SELECT, INSERT ON database.* TO 'someuser'@'somehost';