mysql 許可權管理

2021-06-13 08:06:10 字數 2625 閱讀 5900

1.新增使用者:

方法一:

create user 'wangda'[@'localhost'] [identified by [password] '000000'];

說明:建立乙個本地的使用者,使用者名為'wangda',密碼為'000000',如果密碼為空, 則 "[identified by [password] '000000']"這個可以不寫,如果password是由password()函式返回的混編值, 則需要在密碼前面寫上關鍵字 'password',這個建立的使用者沒有任何的許可權, 需要為這個使用者新增許可權(grant)

方法二:

grant all on *.* 'wangda'[@'192.168.1.184'][identified by [password] '000000'];

說明:這個方法同樣和方法一樣能建立乙個使用者,只不過這個使用者只能在192.168.1.184登入, 使用者名稱也為'wangda', 和方法一不一樣的是, 這條語句同時給這個使用者賦予全域性許可權.

方法三:

inset into `user` (`host`,`user`,`password`) values('%','wangda1',password('000000'));

flush privileges;

說明:直接插入表來建立乙個user, flush privileges語句,告訴乙個正在執行的伺服器再次開始使用授權表(重新匯入許可權表), 這個使用者wangda1,可以通過任何遠端電腦訪問,如果本地也可以登入的話, 需要在本地重新建立乙個wangda1的使用者( inset into `user` (`host`,`user`,`password`) values('localhost','wangda1',password('000000')); ), 這個使用者沒有任何許可權.

2.分配許可權 grant:

a.建立乙個只能本地訪問的超級管理員賬戶,但只能從本機訪問。密碼是'obscure', 如果沒有密碼, 則"identified by 'obscure';"不寫

方法一:

grant all privileges

on *.*

to 'custom'@'localhost'

identified by 'obscure';

方法二:

insert into user

values('localhost','monty',password('obscure'),

'y','y','y','y','y','y','y','y','y','y','y','y','y','y');

flush privileges;

說明: 當你用insert建立賬戶時使用flush privileges的原因是告訴伺服器重讀授權表。否則,只有重啟伺服器後更改方會被注意到。使用 grant,則不需要使用flush privileges。請注意要設定超級使用者賬戶,只需要建立乙個許可權列設定為'y'的user表條目。user表許可權為全域性許可權,因此其它 授權表不再需要條目。

b.建立乙個只可以對expenses資料庫中所有表的 查詢, 插入, 更新,刪除, 建立新錶,刪除表的操作.這個使用者"custom"只能在"whitehouse.gov"這個主機訪問, 如果沒有密碼, 則"identified by 'obscure';"不寫

方法一:

grant select,insert,update,delete,create,drop

on expenses.*

to 'custom'@'whitehouse.gov'

identified by 'obscure';

方法二:

insert into user

(host,user,password)

values('whitehouse.gov','custom', password('obscure'));

insert into db

(host,db,user,select_priv,insert_priv,

update_priv,delete_priv,create_priv,drop_priv)

values('localhost','bankaccount','custom',

y','y','y','y','y','y');

flush privileges;

說明: 方法二先建立乙個使用者, 在給這個使用者分配許可權

c.建立乙個和方法二一樣的使用者,但是這個使用者可以在任何電腦訪問, 除了本地.

grant select,insert,update,delete,create,drop

on expenses.*

to 'custom1'@'%'

identified by 'obscure';

3.刪除使用者: drop user 'wangda'[@'localhost'];

4.刪除使用者許可權: revoke all on *.* from 'wangda'[@'localhost']

MySQL許可權管理

本文主要講述的是mysql grant命令的例項演示,文中的mysql grant命令的實際操作主要是在mysql 5.0 及以上的相關版本上執行,下面就是對其具體操作步驟的描述,望你在瀏覽之後會有所收穫。mysql 賦予使用者許可權命令的簡單格式可概括為 grant 許可權 on 資料庫物件 to...

mysql許可權管理

mysqladmin u root p password leftpassword 無密碼的話直接回車 任意主機登入host換成 create user username host identified by password privileges all 代表所有許可權 表示全部的資料庫 gran...

MySQL許可權管理

localhost 127.0.0.1 表示允許遠端登入,localhost表示只允許本機登入,127.0.0.1 表示只允許本機ip為 127.0.0.1 的登入。檢視mysql使用者許可權 show grants for tangxinzhuan localhost 如果使用者名稱後面不接 lo...