簡體   English   中英

來自機架空間或Google雲的MySQL數據庫IP地址?

[英]MySQL database IP address from rackspace or google cloud?

好的,這是交易。 我在Rackspace上設置了MySQL數據庫,並嘗試與其連接。 我正在使用Google Maps教程使用MySQL創建商店定位器。 本教程中的代碼行要求輸入主機名,然后在Rackspace上提供服務器的IP地址。 我使用的是我認為正確的內容,但沒有用。 有任何想法嗎?

這是Google教程代碼:

// Opens a connection to a mySQL server
$connection=mysql_connect (localhost, $username, $password);
if (!$connection) {
  die("Not connected : " . mysql_error());
};

My code:
$connection=mysqli_connect ('THE IP ADDRESS OF MY RACKSPACE SERVER', 'MY USERNAME', 'MY PASSWORD');

這是Google教程的鏈接: https : //developers.google.com/maps/solutions/store-locator/clothing-store-locator

我知道我的服務器IP地址正確,並且我的用戶名/密碼正確,因為我可以使用這些憑據從終端通過SSH登錄。

當我使用mysql> \\ s來顯示狀態時,它說連接:通過UNIX套接字的Localhost-這是否意味着它是本地主機? 我需要將其托管在IP上進行連接嗎?

我希望默認情況下,Linux發行版的軟件包默認將MySQL服務器配置為在本地或僅在套接字文件上進行偵聽。 您可以更新數據庫配置以偵聽服務器的公共IP地址,但是顯然這可能會帶來一些安全隱患。

為此,請編輯/etc/mysql/mysqld.conf文件(根據所使用的發行版,其位置可能略有不同)和如下一行:

#bind-address                   = 127.0.0.1

bind-address                   = 0.0.0.0

現在,使用systemctl或service命令重新啟動MySQL服務。

service mysql restart

您的MySQL服務器現在正在偵聽主機的所有IP地址。 如果要將其限制為一個,則應輸入該IP而不是0.0.0.0。 現在,您應該可以遠程連接到MySQL服務器,但是,您必須已經配置了數據庫用戶以能夠從Web服務器登錄。 如果您尚未配置用戶,請執行以下操作。

mysql
CREATE USER '<username>'@'<webserver ip address here>' INDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<webserver ip address>';
FLUSH PRIVILEGES;

現在,您應該能夠以該用戶身份登錄,並可以從指定的服務器IP地址查看/修改/插入等數據到指定的數據庫。 您可以像這樣使用MySQL客戶端從Web服務器進行測試...

mysql -u <username> -h <db server ip> -p

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM