mysql帳號的時候,一定要主義使用者名和主機(local和%)均要被引號引起,否則命令即錯
命令方式得注意每行後邊都跟個分號( ;), 表示一個命令語句結束.
格式:grant select on 資料庫.* to "使用者名"@"登錄主機" identified by "密碼";
Example 1、增加一個使用者test1密碼為abc,讓他可以在任何主機上登錄,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root使用者連入MYSQL,然後鍵入以下命令:
grant select,insert,update,delete on *.* to "test1"@"%" Identified by "abc";
補充擁有權限語句:
由Example 1得: 將執行許可權(select,insert,....)改為all privileges,即表示擁有擁有權限,包括創建資料庫許可權,刪除資料庫,已經不局限于在一個資料庫內操作
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
Example 1(非補充)中增加的使用者是十分危險的,因為你的主機是%,%即代表任意位置的主機,而local即詞義"本地",假如,某個人想知道test1的密碼,那麼他就可以在internet上的任何一台電腦上連接到你的mysql資料庫並對你的資料可以為所欲為了,解決辦法見Example 2。
根據Example 1補充語句,此語句儘量不要在Mysql伺服器上使用,如果你的伺服器處於託管或遠端地帶,如果你需要遠端系統管理Mysql伺服器,而由不想通過超級終端登錄到伺服器上,那麼你只好用此語句,但要清楚一件事,即你能使用此方法連接伺服器,其他人也可以,所以要保管好你的mysql密碼
Example 2、增加一個使用者test2密碼為abc,讓他只可以在localhost上登錄,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL資料庫所在的那台主機),這樣使用者即使用知道test2的密碼,他也無法從internet上直接存取資料庫,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to "test2"@localhost identified by "abc";
如果你不想test2有密碼,可以再打一個命令將密碼消掉。
grant select,insert,update,delete on mydb.* to "test2"@localhost identified by "";
grant select,insert,update,delete on dez.* to 「test2」@"%" identified by "123456";
 
小注:這裡localhost可以加引號也可以不加引號;單雙引號都行;
 
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()