2012-07-24 75 views
2

我有網站example.com,它包含一個MySQL服務器。我有另外一個example.org,都是不同的域名。我想從example.org訪問example.com上的MySQL服務器。這怎麼可能?來自不同域的mysql連接

+0

解決方法:嘗試從域b調用域a上的頁面,並在該頁面上的域a中執行mysql的所有處理 – Satya 2012-07-24 10:56:57

+1

如果兩個域都在同一臺服務器上,則不一定位於不同的服務器上與MySQL),你根本不需要做任何事情 - 在你使用'localhost'的任何一個域的腳本中。 – 2012-07-24 11:01:13

回答

1

您可以連接到任何MySQL服務器無論它是,只要它是建立遠程連接。

根據您的操作系統和選擇的Web服務器上的設置會有所不同,但一個良好的開端是(如果使用的Linux)看這裏:

/etc/mysql/my.cnf 

在這個文件中,你會發現:

bind-address: 127.0.0.1 

您將更改爲服務器的IP地址,然後重新啓動mysql守護進程。

..和現在你可以遠程連接;)

4

您需要設置遠程example.com當你調用數據庫連接的初始化函數。例如:

mysqli_connect("example.com", 'username', 'password', 'database name'); 

但你需要檢查example.com的MySQL服務器是否設置爲接受來自其他主機的連接(見bind-address指令在my.cnfmy.ini),並且該username你是連接設置爲可以從外部域連接。

考慮以下用戶頁的phpMyAdmin:Example user privilege list

顯然,只有用戶test具有(在主機%)禁區外域的訪問。未在圖像上顯示,但用戶test對名爲test的數據庫擁有完全權限。其他用戶綁定到本地域,即使服務器設置爲接受來自外部的連接,但在進行身份驗證時,用戶被拒絕。