格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by "密碼"
例1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改
、刪除的權限。首先用以root用戶連入MYSQL,然後鍵入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例
1增加的用戶是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一
台電腦上登錄你的mysql數據庫並對你的數據可以為所欲為了,解決辦法見例2。
例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 "";
在上篇我們講了登錄、增加用戶、密碼更改等問題。下篇我們來看看MYSQL中有關數據庫方面的操作
linux中.Ubuntu下啟動mysql方法:
代碼如下 復制代碼/etc/init.d/sudo mysqld
二.用戶添加
bin>mysql -u root
mysql> grant 權限1,權限2,...權限n on 數據庫名稱.表名稱 to 用戶名@用戶地址 identified by '連接口令';
權限1,權限2,...權限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個權限。
當權限1,權限2,...權限n被all privileges或者all代替,表示賦予用戶全部權限。
當數據庫名稱.表名稱被*.*代替,表示賦予用戶操作服務器上所有數據庫所有表的權限。
用戶地址可以是localhost,也可以是ip地址、機器名字、域名。也可以用'%'表示從任何地址連接。
'連接口令'不能為空,否則創建失敗。
例如:
代碼如下 復制代碼mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by '123';
給來自10.163.225.87的用戶joe分配可對數據庫vtdc的employee表進行select,insert,update,delete,create,drop等操作的權限,並設定口令為123。
代碼如下 復制代碼mysql>grant all privileges on vtdc.* to [email protected] identified by '123';
給來自10.163.225.87的用戶joe分配可對數據庫vtdc所有表進行所有操作的權限,並設定口令為123。
代碼如下 復制代碼mysql>grant all privileges on *.* to [email protected] identified by '123';
給來自10.163.225.87的用戶joe分配可對所有數據庫的所有表進行所有操作的權限,並設定口令為123。
代碼如下 復制代碼mysql>grant all privileges on *.* to joe@localhost identified by '123';
給本機用戶joe分配可對所有數據庫的所有表進行所有操作的權限,並設定口令為123。
如果你想要給特定的用戶從一個給定的域上的任何機器上存取權限,你可以發出一個如下的GRANT語句:
mysql> GRANT ... ON *.* TO myusername@"%.mydomainname.com" IDENTIFIED BY 'mypassword';
為了通過直接修改授權表做同樣的事情,這樣做:
代碼如下 復制代碼
mysql> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername', PASSWORD('mypassword'),...);
mysql> FLUSH PRIVILEGES;
你也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授權表中插入、改變和更新值。你可以在MySQL的Contrib目錄找到這些實用程序。