mysql庫中user表
host:指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost,如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%
mysql權限表的驗證過程爲:
此處引用
先從user表中的Host,User,Password這3個字段中判斷連接的ip、用戶名、密碼是否存在,存在則通過驗證。
通過身份認證後,進行權限分配,按照user,db,tables_priv,columns_priv的順序進行驗證。即先檢查全局權限表user,如果user中對應的權限爲Y,則此用戶對所有數據庫的權限都爲Y,將不再檢查db, tables_priv,columns_priv;如果爲N,則到db表中檢查此用戶對應的具體數據庫,並得到db中爲Y的權限;如果db中爲N,則檢查tables_priv中此數據庫對應的具體表,取得表中的權限Y,以此類推。
mysql 配置
在 /etc/my.cnf 的 [mysqld]下加入 skip-grant-tables #跳過數據庫權限驗證
[mysqld] 下的 bind-address = 0.0.0.0
3306端口監聽在127.0.0.1,只有本機客戶端可以訪問,其他服務器無法訪問
3306端口如果監聽在0.0.0.0上,如果沒有端口限制,那麼其他服務器則可以連接該服務器的該端口