2014-03-06 193 views
0

我有兩臺計算機連接在局域網上,我想模擬客戶端服務器類型的配置。所以假設我有pc1充當服務器和pc2作爲客戶端。我在pc1上創建了一個數據庫並在pc2 .so上保存註冊表單,只要我執行註冊腳本,我會收到以下錯誤消息。無法連接到MySQL

無法連接到MySQL:主機「192.168.2.6」是不允許 連接到這個MySQL服務器

這是我已經更換數據庫的主機與IP地址的註冊代碼正在運行xampp的pc1(服務器)。

<?php 

define('DB_HOST', '192.168.2.7');//192.168.2.7 is the ip address of my server. 
define('DB_NAME', 'hello'); 
define('DB_USER','root'); 
define('DB_PASSWORD',''); 

$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error()); 
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error()); 

難道非要我不得不在mysql的配置文件進行任何更改XAMPP或者,如果我必須做出改變數據庫的主機名。

+1

簽出此線程http://stackoverflow.com/questions/13731514/host-is-not-allowed-to-connect-to-this-mysql-server-when-making-a -local-connecti – sofl

回答

0

您需要提供訪問所有主機通過通配符使用以下查詢

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password'; 

參考Documentation欲瞭解更多信息

+0

我該如何做到這一點是Windows上的xammp – user2218550

+0

在'SQl'標籤中的phpmyadmin標籤粘貼查詢並運行 –

+0

i出現以下錯誤無法連接到MySQL:拒絕用戶'root'@192.168.2.6'(使用密碼:NO)拒絕訪問 – user2218550

1

如果服務器位於本地計算機上,請嘗試使用localhost作爲IP地址。

授予與IP訪問計算機:192.168.2.7
GRANT ALL ON *.* TO [email protected]'192.168.2.7'

要授予訪問所有計算機,無論它們的IP是什麼:
GRANT ALL ON *.* TO [email protected]'%'

+0

我該如何做到這一點是windows上的xammp – user2218550

+0

你不能使用xammp來完成它,因爲xammp是一個安裝mysql的web服務器。它不是一個MySQL接口。爲了方便起見,請嘗試使用mysqlWorkBench:http://dev.mysql.com/downloads/tools/workbench/ – Krimson