2011-04-15 68 views
0

我有一個問題!可以從位於另一臺服務器上的mysql數據庫讀取嗎?遠程MySQL讀取?

我有CMS在本地服務器上的數據庫寫入,我想從另一臺服務器從這個數據庫讀取新的網頁!

你能幫我嗎?

Tnx!

+0

只是建議:不要使用標準的3306端口。 – gustyaquino 2011-04-15 14:50:26

回答

2

在您爲數據庫指定的連接參數中,只需添加主機或主機名參數即可。您必須查看CMS的文檔以瞭解如何精確指定此內容。在/etc/mysql/my.cnf

+0

$ con = mysql_connect(「localhost」,「peter」,「abc123」);我應該寫什麼,而不是「本地主機」? – bulicmatko 2011-04-15 14:42:07

2

(UNIX系統上),註釋行:

bind-address   = 127.0.0.1 

,你應該能夠從任何地點連接。請注意,您可能需要在防火牆規則中允許該端口的流量。

1

如果您的CMS和MySQL盒在網絡上彼此開放,那麼沒有理由不能使用不同的盒子,因爲您知道數據庫盒的主機名和憑證。

1

是的,這是可能的。連接時只需添加MySQL機器的主機名而不是localhost

這需要三樣東西:

  • MySQL服務器允許遠程連接
  • 有沒有防火牆阻止這種流量(這是很多便宜的網絡主機的情況下)
  • 您的用戶MySQL的權限配置爲允許來自遠程主機的連接(有時用戶在特權表中設置爲user @ localhost,該特權表不允許該用戶的所有遠程連接)。
0

MySQL可以通過TCP/IP進行連接。如果您有數據庫服務器D配置,則客戶端C可以從任何地方連接到它。在大多數系統中,默認情況下D只允許本地連接,本地客戶端。請參閱「GRANT」文檔,瞭解如何授予客戶從遠程連接的權利。

MySQL也可以複製。這意味着你有幾個數據庫服務器,它們確保它們之間的數據始終是最新的。顯然這很難聽到:)。通常,您將設置某種主從複製:主數據庫允許寫入,並且它將確保不久以後,其所有從服務器都會獲取最新的數據。客戶端可以從任何服務器讀取,無論是從服務器還是主服務器。