MySQL是一個廣泛使用的開源關系型數據庫管理系統。MySQL服務器可以運行在不同的主機上,客戶端可以通過TCP/IP協議連接到MySQL服務器,MySQL服務器會底層監聽端口3306,接受客戶端請求。
在MySQL服務器的授權機制中,可以對不同的用戶授權不同的權限。其中,指定一個用戶的登錄主機是非常重要的。
在MySQL中,我們可以使用host關鍵字指定用戶能夠登錄的主機。host關鍵字是一個可選項,默認值為%。當host的值為%時,表示所有的主機都可以連接到MySQL服務器;當host的值為localhost時,表示只能在本機上連接。
除此之外,我們還可以指定主機名或者IP地址來限制客戶端的訪問,例如:host='192.168.1.100',表示只有IP地址為192.168.1.100的主機可以連接到MySQL。
GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'192.168.1.100' IDENTIFIED BY 'my_password';
在實際使用中,我們可以根據需要進行配置。如果需要允許所有主機連接MySQL,可以使用host=%;如果只允許本機連接,可以使用host=localhost;如果需要控制特定主機的訪問,可以指定host為主機名或者IP地址。