來源:レモンガード
原文:https://www.remonkado.com/note/public/detail/7f000001710d13db81710f9b173a00d7.html
想必各位都看過這個數據庫吧,一直以來都不知道有什麼用???
當然,有個時候是不會顯示這個數據庫的,如果你沒有看到這個數據庫,請執行以下SQL
show databases;
你會驚訝的發現,什麼,我隱藏了一個數據庫嘛,沒錯,你的想法是對的,這個數據庫裏面存儲的數據就是MySQL的配置
我們在看一看裏面都有一些什麼表的
use mysql;
show tables;
我們看到裏面有好多好多的表
但只有這張user表示我們的重點,要我們看看裏面都有一些什麼字段吧
字段多的數不完,呃呃,這就很難受了,不過不要緊,今天的主角只有Host字段這一個重點,我們來查詢一下我們root賬戶的Host字段都有一些什麼吧。
select host from user where user = 'root';
我們發現裏面的值是localhost,這說明我們只能用localhost和127.0.0.1來登錄數據庫
這時候,我們把它改一下
update user set host = '%' where user = 'root';
然後我就遇到了一個這樣的錯誤
怎麼辦了,好解決,我們臨時性的關閉安全刪除
SET SQL_SAFE_UPDATES = 0;
執行完這條SQL後,就運行剛纔那條SQL,你會發現就成功了。
這個時候我們就可以遠程訪問了,但是注意的是,Host設置成%後,就不能用localhost和127.0.0.1了(網友們講的,我沒試驗過)
那麼問題來了,Host字段可以設置成其他的值嗎,可以的,比如你只想要192.168.1.12這個IP可以遠程訪問這個數據庫,那麼就將Host字段設置成192.168.1.12
如果你想要192.168.1.*的可以遠程訪問,那麼就將Host字段改成192.168.1.%,看到這裏,想必小夥伴們就清楚了,其實%就是通配符的意思
好了,如果想了解Host字段的跟多信息,拿起你的百度吧,他們寫的比我的詳細,有的還比我的更加準確