mysql> insert into mysql.user(host,user,password) values("localhost","test",password("1234"));
#這樣就建立了乙個名為:test 密碼為:1234 的使用者。
注意:此處的"localhost",是指該使用者只能在本地登入,不能在另外一台機器上遠端登入。如果想遠端登入的話,將"localhost"改為"%",表示在任何一台電腦上都可以登入。也可以指定某台機器(例如192.168.1.10),或某個網段(例如192.168.1.%)可以遠端登入。
授權格式:grant 許可權 on 資料庫.* to 使用者名稱@登入主機 identified by "密碼";
2.1 首先為使用者建立乙個資料庫(testdb):
mysql>create database testdb;
2.2 授權test使用者擁有testdb資料庫的所有許可權(某個資料庫的所有許可權):
mysql>grant all privileges on testdb.* to test@localhost identified by '1234';
mysql>flush privileges;//重新整理系統許可權表,即時生效
2.3 如果想指定某庫的部分許可權給某使用者本地操作,可以這樣來寫:
mysql>grant select,update on testdb.* to test@localhost identified by '1234';
mysql>flush privileges;
2.4 授權test使用者擁有所有資料庫的某些許可權的遠端操作:
mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";
#test使用者對所有資料庫都有select,delete,update,create,drop 許可權。
2.5 檢視使用者所授予的許可權:
mysql> show grants for test@localhost;
mysql>delete from user where user='test' and host='localhost';
mysql>flush privileges;
刪除賬戶及許可權:>drop user 使用者名稱@'%';
>drop user 使用者名稱@ localhost;
mysql>update mysql.user set password=password('新密碼') where user="test" and host="localhost";
mysql>flush privileges;
revoke 跟 grant 的語法差不多,只需要把關鍵字 「to」 換成 「from」 即可:
mysql>grant all on *.* to dba@localhost;
mysql>revoke all on *.* from dba@localhost;
6.1 grant, revoke 使用者許可權後,該使用者只有重新連線 mysql 資料庫,許可權才能生效。
6.2. 如果想讓授權的使用者,也可以將這些許可權 grant 給其他使用者,需要選項 "grant option"
mysql>grant select on testdb.* to dba@localhost with grant option;
mysql>grant select on testdb.* to dba@localhost with grant option;
這個特性一般用不到。實際中,資料庫許可權最好由 dba 來統一管理。
補充:
mysql授權表共有5個表:user、db、host、tables_priv和columns_priv。
授權表的內容有如下用途:
user表
user表列出可以連線伺服器的使用者及其口令,並且它指定他們有哪種全域性(超級使用者)許可權。在user表啟用的任何許可權均是全域性許可權,並適用於所有資料庫。例如,如果你啟用了delete許可權,在這裡列出的使用者可以從任何表中刪除記錄,所以在你這樣做之前要認真考慮。
db表
db表列出資料庫,而使用者有許可權訪問它們。在這裡指定的許可權適用於乙個資料庫中的所有表。
host表
host表與db表結合使用在乙個較好層次上控制特定主機對資料庫的訪問許可權,這可能比單獨使用db好些。這個表不受grant和revoke語句的影響,所以,你可能發覺你根本不是用它。
tables_priv表
tables_priv表指定表級許可權,在這裡指定的乙個許可權適用於乙個表的所有列。
columns_priv表
columns_priv表指定列級許可權。這裡指定的許可權適用於乙個表的特定列
MySQL使用者管理 新增使用者 授權 刪除使用者
新增使用者 以root使用者登入資料庫,執行以下命令 create user zhangsan identified by zhangsan 上面的命令建立了使用者zhangsan,密碼是zhangsan。在mysql.user表裡可以檢視到新增使用者的資訊 授權命令格式 grant privile...
MySQL 使用者管理 新增使用者 授權 刪除使用者
不要直接使用root使用者管理應用資料 以root使用者登入資料庫,執行以下命令 create user zhangsan identified by zhangsan 上面的命令建立了使用者zhangsan,密碼是zhangsan.在mysql.user表裡可以檢視到新增使用者的資訊 select...
MySQL 使用者管理 新增使用者 授權 刪除使用者
以root使用者登入資料庫,執行以下命令 create user xixi identified by 123456 上面的命令建立了使用者xixi,密碼是123456。在mysql.user表裡可以檢視到新增使用者的資訊 命令格式 grant privilegescode on dbname.ta...