權(quán)限管理操作

2018-09-27 20:33 更新

 一、權(quán)限簡介

    權(quán)限主要是為了用戶能在一定范圍內(nèi)進行操作。

二、創(chuàng)建權(quán)限

grant all privileges on db_name.tb_name to user_name@'login_address' [identified by "密碼"] [with grant option];

    all: 該用戶的權(quán)限,如我們只授予部分權(quán)限,直接替代all即可。

    db_naem.tb_name: 數(shù)據(jù)庫.數(shù)據(jù)表,如果我們不指定的話,我們可以直接使用*.*。

    user_name: 要創(chuàng)建的用戶名.當(dāng)用戶名存在的時候會給存在的用戶重新授權(quán),當(dāng)用戶不存在的時候會創(chuàng)建用戶并給予相對應(yīng)的權(quán)限。

    login_address: 該用戶連接的ip地址。如果是不設(shè)置直接使用%,有時候,我們使用的%表示鏈接地址,但是用戶在本地是無法連接的,則在重新添加一個localhost的權(quán)限。

    identified by "密碼": 該用戶的登陸密碼。

    with grant option: 將自己擁有的權(quán)限授權(quán)給別人。

三、基本操作

    1.增加權(quán)限

grant ALTER,SELECT on *.* to qq@'localhost' identified by "123456" with grant option;

    2.刪除權(quán)限

revoke delete on *.* from 'qq'@'localhost';
drop user 'qq'@'localhost';

    3.重置權(quán)限

// 修改用戶名稱
rename user 'qq'@'%' to 'jim'@'%'; 

// 修改用戶密碼

SET PASSWORD FOR 'qq'@'localhost' = PASSWORD('123456');

mysqladmin -uqq -p123456 password 1234abcd

update user set PASSWORD = PASSWORD('1234abcd') where user = 'qq';

     4.查詢權(quán)限

show grants for 'qq'@'%';

    *有時我們對系統(tǒng)數(shù)據(jù)庫進行了操作,但還是不能達到我們的效果,則可以使用強制刷新

flush privileges;

四、權(quán)限維護

     權(quán)限控制主要是出于安全因素,因此需要遵循一下幾個經(jīng)驗原則:

    1、只授予能滿足需要的最小權(quán)限,防止用戶干壞事。比如用戶只是需要查詢,那就只給select權(quán)限就可以了,不要給用戶賦予update、insert或者delete權(quán)限。

    2、創(chuàng)建用戶的時候限制用戶的登錄主機,一般是限制成指定IP或者內(nèi)網(wǎng)IP段。

    3、初始化數(shù)據(jù)庫的時候刪除沒有密碼的用戶。安裝完數(shù)據(jù)庫的時候會自動創(chuàng)建一些用戶,這些用戶默認沒有密碼。

    4、為每個用戶設(shè)置滿足密碼復(fù)雜度的密碼。

    5、定期清理不需要的用戶?;厥諜?quán)限或者刪除用戶。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號