2012-09-20 178 views
0

MySQL在Centos6(和其他發行版IIRC)初始化多個超級用戶(其中​​host.domain是我的主機名):在MySQL中,[email protected]'my.host'和[email protected]'127.0.0.1'的用途是什麼?

select User,Host,Password from mysql.user where User = 'root'; 

+------+-------------+-------------------------------------------+ 
| User | Host  | Password         | 
+------+-------------+-------------------------------------------+ 
| root | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | 
| root | host.domain | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | 
| root | 127.0.0.1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | 
+------+-------------+-------------------------------------------+ 

我不明白的[email protected]'host.domain'和根的目的@ '127.0.0.1'條目。在什麼情況下是本地主機連接的主機而不是'localhost'?我認爲所有本地連接都是從'localhost'解釋的。

+0

試試這個:http://stackoverflow.com/questions/3715925/localhost-vs-127-0-0-1 –

回答

0

那麼你可以,如果你想,編輯etc/hosts並將localhost設置爲127.0.0.1以外的其他內容。

0

如果您運行的是虛擬主機,您的apache服務器可能會在同一臺服務器上託管多個域。在這種情況下,127.0.0.1指向多個域。例如,/ etc/hosts可能看起來像這樣。

127.0.0.1 localhost www.gregsblog.com www.dannisrecipes.org www.schoolofsql.edu 

現在,當PHP將試圖訪問MySQL,如果它的apache的系統上運行PHP的,他的要求會根@本地。這很好!現在,如果Greg試圖去解決它呢?他的要求是:[email protected]。這也太好了,因爲我們不希望陰暗的Greg進入我們的數據庫。

host.domain只是讓IMO更容易移動主機。所以[email protected]即使你最終分爲兩個不同的應用程序和數據服務器。

0

您使用root @ localhost與root @ remoteipaddress。它們用於遠程主機訪問,所以其他服務器可以連接到您的數據庫。

相關問題