GRANT ALL ON samp_db.* TO boris@localhost IDENTIFIED BY "ruby"
GRANT ALL ON samp_db.* TO [email protected] IDENTIFIED BY "quartz"
(samp_db.*意思是“samp_db數據庫的所有表)另一個極端是,你可能有一個經常旅行並需要能從世界各地的主機連接的用戶max。在這種情況下,你可以允許他無論從哪裡連接:
GRANT ALL ON samp_db.* TO max@% IDENTIFIED BY "diamond"
“%”字符起通配符作用,與LIKE模式匹配的含義相同。在上述語句中,它意味著“任何主機”。所以max和max@%等價。這是建立用戶最簡單的方法,但也是最不安全的。
其中,你可以允許一個用戶從一個受限的主機集合訪問。例如,要允許mary從snake.net域的任何主機連接,用一個%.snake.Net主機指定符:
GRANT ALL ON samp_db.* TO [email protected] IDENTIFIED BY "quartz";
如果你喜歡MySQL用戶標識符的主機部分可以用IP地址而不是一個主機名來給定。你可以指定一個IP地址或一個包含模式字符的地址,而且,從MySQL 3.23,你還可以指定具有指出用於網絡號的位數的網絡掩碼的IP號:
GRANT ALL ON samp_db.* TO [email protected] IDENTIFIED BY "ruby"
GRANT ALL ON samp_db.* TO [email protected].% IDENTIFIED BY "quartz"
GRANT ALL ON samp_db.* TO [email protected]/17 IDENTIFIED BY "ruby"
第一個例子指出MySQL用戶能從其連接的特定主機,第二個指定對於C類子網192.168.128的IP模式,而第三條語句中,192.168.128.0/17指定一個17位網絡號並匹配具有192.168.128頭17位的IP地址。