MySQL是一個(gè)非常流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),具有穩(wěn)定性和可擴(kuò)展性。而localhost是用來(lái)區(qū)分本地和遠(yuǎn)程訪問(wèn)的一個(gè)重要關(guān)鍵字,常常與MySQL使用一起出現(xiàn)。
在MySQL中,localhost是指本地主機(jī)的IP地址,通常為127.0.0.1。它是通過(guò)UNIX套接字和TCP/IP連接的方式,讓用戶可以連接到MySQL數(shù)據(jù)庫(kù)。同時(shí),localhost還有一個(gè)很重要的作用,就是提供了MySQL的安全性,只有在localhost中啟動(dòng)的MySQL服務(wù)器才能被本地用戶訪問(wèn),而無(wú)法被其它機(jī)器所連接。
但是,如果我們需要從遠(yuǎn)程主機(jī)訪問(wèn)MySQL數(shù)據(jù)庫(kù),就需要對(duì)localhost做一些配置工作。這時(shí),就需要打開(kāi)MySQL的配置文件my.cnf,找到bind-address選項(xiàng),并將其注釋掉或修改為0.0.0.0。這樣,MySQL服務(wù)器就可以監(jiān)聽(tīng)到所有IP地址的連接請(qǐng)求,包括遠(yuǎn)程的IP地址請(qǐng)求,從而實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫(kù)訪問(wèn)。
#bind-address = 127.0.0.1 bind-address = 0.0.0.0
除此之外,還需要對(duì)MySQL的用戶和權(quán)限進(jìn)行相應(yīng)的配置。我們需要使用grant命令添加一個(gè)新用戶,并設(shè)置對(duì)應(yīng)的用戶權(quán)限。例如,如果我們需要允許來(lái)自IP為192.168.1.100的用戶通過(guò)用戶名為root,密碼為123456的賬戶訪問(wèn)MySQL,可以通過(guò)以下命令進(jìn)行授權(quán):
mysql>grant all privileges on *.* to 'root'@'192.168.1.100' identified by '123456' with grant option; mysql>flush privileges;
這樣,我們就可以在遠(yuǎn)程主機(jī)上通過(guò)root賬戶訪問(wèn)MySQL數(shù)據(jù)庫(kù)了。