預設情況下,mysql.db表中包含的行表示任意用戶可以訪問test資料庫和test_開頭的資料庫。這些行的User欄位的值為空,表示匹配任意用戶。這意味著這些資料庫(test資料庫和test_開頭的資料庫)預設可以被任意用戶使用(即使沒有許可權的用戶)。 mysql.db 預設設置: 初始化的mys ...
預設情況下,mysql.db表中包含的行表示任意用戶可以訪問test資料庫和test_開頭的資料庫。這些行的User欄位的值為空,表示匹配任意用戶。這意味著這些資料庫(test資料庫和test_開頭的資料庫)預設可以被任意用戶使用(即使沒有許可權的用戶)。
mysql.db 預設設置:
初始化的mysql環境中mysql.db表預設包含的2行test資料庫相關的配置,導致任意用戶可以隨意操作test或者test_開頭的資料庫,如果你想避免此問題,可以直接drop test資料庫。
關於此現象,大家可能需要註意的問題:
1、正式環境千萬別使用test資料庫或者創建test_開頭的資料庫來存儲業務數據
2、對用戶的許可權進行測試、驗證的時候,千萬別去test資料庫,這可能誤導你
3、如果想徹底避免以上問題,可以將mysql.db中test相關的數據delete掉。
【對已有test開頭的資料庫】,如果想取消某用戶對test的許可權,必須在test.db表裡面增加一條該用戶的記錄,每項許可權都是N即可。