2014-12-01 98 views
0

我已閱讀了幾篇針對我的完全相同問題的文章,但沒有一篇我讀過的答案對我有用。爲什麼我無法通過PHP連接到遠程MySQL服務器?

我想我的網絡,我使用下面的命令創建了訪問數據庫:

$con=mysqli_connect("1.2.3.4","user","pass","db_name"); 

所有數據的查詢是正確的,但我得到的錯誤:

Warning: mysqli_connect(): (HY000/1130): Host '4.3.2.1' is not allowed to connect to this MySQL server in C:\xampp\htdocs\ajax_refresh.php on line 4 

第4行是上面的$con聲明。

我已經去到MySQL的外殼和鍵入:

# mysql -u user -p -h 1.2.3.4 

,並將其連接就好了。我還通過我在Excel中編寫的連接和加載數據的應用程序訪問了此遠程計算機上的數據庫,因此我知道我的計算機具有對服務器的正確訪問權限。

我也在這裏添加的部分進入我的httpd-xampp.conf文件:

Alias /phpmyadmin "C:/xampp/phpMyAdmin/" 
    <Directory "C:/xampp/phpMyAdmin"> 
     AllowOverride AuthConfig 
    Allow from all   
    Require all granted 
    </Directory> 

允許從外部訪問,並在創建該用戶'user'@'1.2.3.4'對此我的用戶名和IP地址匹配連接。

我在做什麼錯?

+0

所以我的第一行:'我已經通過在這裏的幾個職位面向我完全一樣的問題看,但沒有我的答案我已經閱讀了我在這裏找到的解決方案,但他們沒有工作。但你可以將它標記爲重複,而我猜....... – lordterrin 2014-12-01 21:35:25

回答

-1

MySQL不允許比從本地主機其他連接連接到它

+0

錯誤。這是不正確的。你需要逐字遵循這個指令:http://www.rackspace.com/knowledge_center/article/mysql-connect-to-your-database-remotely我已經做了這10次,我成功地能夠連接到遠程並置mysql數據庫從我的本地主機或任​​何主機。你需要確保你用mysql的所有命令發出連接到mysql的傳入IP地址。它的一個mysql安全功能不僅僅是任何人都可以連接到數據庫。 – unixmiah 2014-12-01 21:39:37

+0

當然它確實 - 我已經通過Excel宏遠程訪問了服務器,正如我在原始文章中所述。 – lordterrin 2014-12-01 21:40:06

+0

這是你的問題:主機'4.3.2.1'不允許連接,你必須進入mysql數據庫mysql並用ip地址更新用戶和db表。確保你在之後刷新權限。 – unixmiah 2014-12-01 21:41:54