MySQL是一款廣泛使用的關系型數據庫管理系統。使用MySQL,我們可以很方便地創建、修改、刪除數據表等操作。在MySQL中,@%是指所有主機可以訪問數據庫。下面我們來詳細了解一下。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
以上代碼表示為所有主機允許使用root用戶訪問數據庫。其中%代表所有主機,即任何IP地址,這樣設置可以讓除了本機之外的主機都可以遠程訪問我們的MySQL數據庫。
但是這種方法并不太安全,因為如果你的密碼泄露了,那么黑客就可以輕易地訪問你的數據庫。所以,我們一般不建議在生產環境中使用@%來進行訪問控制。
如果我們需要允許某些特定的IP地址訪問MySQL數據庫呢?我們可以將%替換為具體的IP地址,如下所示:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.101' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
以上代碼表示只允許IP地址為192.168.0.101的主機訪問MySQL數據庫。
在實際應用中,我們可以根據自己的需求進行相關配置。加強訪問控制有利于提高數據庫的安全性。
上一篇go讀取MySQL表列
下一篇go使用mysql