MySQL中的user表是存儲(chǔ)用戶(hù)登錄和權(quán)限信息的關(guān)鍵表之一。而在user表中,host字段代表用戶(hù)所允許的主機(jī)訪(fǎng)問(wèn)權(quán)限,典型的取值包括localhost、127.0.0.1等。但是,有時(shí)候我們需要配置允許來(lái)自所有IP地址的主機(jī)進(jìn)行訪(fǎng)問(wèn),這時(shí)候就需要將host字段設(shè)置為“%”了。
除此之外,還有一種情況,就是當(dāng)我們需要限制某一特定主機(jī)的訪(fǎng)問(wèn)權(quán)限時(shí),也可以通過(guò)在host字段中指定該主機(jī)的IP地址或域名來(lái)達(dá)到目的。例如,我們可以將host字段設(shè)置為“1”,表示只允許ID為1的主機(jī)進(jìn)行訪(fǎng)問(wèn)。
mysql>GRANT ALL PRIVILEGES ON db1.* TO 'user1'@'1' IDENTIFIED BY 'password';
上述語(yǔ)句就是將db1庫(kù)的所有操作權(quán)限授予用戶(hù)user1,同時(shí)host字段設(shè)置為1,表示只允許ID為1的主機(jī)進(jìn)行訪(fǎng)問(wèn)。需要注意的是,這里的1并不是指IP地址或域名,而是用戶(hù)定義的任意字符串。
總之,host字段的合理設(shè)置可以有效的控制數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)權(quán)限,從而提高數(shù)據(jù)庫(kù)的安全性。