您好,登錄后才能下訂單哦!
1、簡述:數(shù)據(jù)庫中通常有多個用戶共享,為保證數(shù)據(jù)庫的安全,SQL語言提供數(shù)據(jù)控制語句DCL(Data Control Language)對數(shù)據(jù)庫進行統(tǒng)一的管理,若要實現(xiàn)數(shù)據(jù)庫的安全性,則必須依據(jù)權(quán)限分配的最小化原則,從而將風(fēng)險降至最低。這樣就能保證授權(quán)的用戶可以查看或修改數(shù)據(jù),又能保證授權(quán)用戶對合法信息的訪問。
2、權(quán)限可分配情況
權(quán)限分配原則遵循:從哪來,到哪去,去干啥
從哪來:可以指定用戶名,允許連接的ID
到哪去:數(shù)據(jù)庫名,表名,
去干啥:能夠使用的命令
以上三點使用Mysql數(shù)據(jù)庫的user,db,host表。
可分配權(quán)限表:
MySQL權(quán)限分布:針對什么表設(shè)置什么權(quán)限,針對列可以設(shè)置哪些權(quán)限的問題
權(quán)限分布 可能的設(shè)置的權(quán)限
表權(quán)限 'Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter'
字段權(quán)限 'Select', 'Insert', 'Update',’References'
過程權(quán)限 'Execute', 'Alter Routine', 'Grant',’create’
MySQL權(quán)限經(jīng)驗原則:
權(quán)限控制主要是出于安全因素,因此需要遵循一下幾個經(jīng)驗原則:
1、只授予能滿足需要的最小權(quán)限,防止用戶干壞事。比如用戶只是需要查詢,那就只給select權(quán)限就可以了,不要給用戶賦予update、insert或者delete權(quán)限。
2、創(chuàng)建用戶的時候限制用戶的登錄主機,一般是限制成指定IP或者內(nèi)網(wǎng)IP段。@’192.168.1.28’ hostname
3、初始化數(shù)據(jù)庫的時候刪除沒有密碼的用戶。安裝完數(shù)據(jù)庫的時候會自動創(chuàng)建一些用戶,這些用戶默認(rèn)沒有密碼。
4、為每個用戶設(shè)置滿足密碼復(fù)雜度的密碼。CRM 疑是地上霜 CRM14floor&& 雙
5、定期清理不需要的用戶。回收權(quán)限或者刪除用戶。帳號審計
3、權(quán)限分配應(yīng)用
3.1 用戶權(quán)限查看
mysql> select * from mysql.user where user="root" \G; 查看root用戶詳細(xì)信息
mysql> show grants; 查看當(dāng)前用戶權(quán)限
mysql> show grants for "root"@"localhost"; 3.3 查看某個用戶權(quán)限
3.2 用戶創(chuàng)建
創(chuàng)建一個允許從本地登錄的用戶xiaoxiong,并允許將權(quán)限賦予別的用戶的用戶,密碼設(shè)置為xiaoxiong
mysql> grant all privileges on . to xiaoxiong@'localhost' identified by 'xiaoxiong' with grant option;
參數(shù):
all privileges:表示所有權(quán)限on:用來指定那些表和那些庫生效,通配符*標(biāo)識所有表所有庫。
xiaoxiong@’localhost’:用戶名@登錄地址,localhost表示本地登錄,或者127.0.0.1也表示本地
br/>on:用來指定那些表和那些庫生效,通配符*標(biāo)識所有表所有庫。
xiaoxiong@’localhost’:用戶名@登錄地址,localhost表示本地登錄,或者127.0.0.1也表示本地
with grant option:允許用戶將自己的擁有的權(quán)限分配給其他人,
grant可以重復(fù)給用戶添加權(quán)限。。。
創(chuàng)建完畢用戶后需要刷新權(quán)限,是用戶生效。
mysql> flush privileges;
[root@node1 ~]# mysql -uxiaoxiong -pxiaoxiong 驗證登錄成功
mysql> revoke all privileges on . from "xiaoxiong"@"localhost"; 回收權(quán)限
刪除用戶:
mysql>drop user xiaoxiong@’localhost’;
修改用戶名:
mysql> rename user "xiaoxiong"@"localhost" to "XiaoXiong01"@"%";
修改密碼:
方法一、root無密碼時,
mysqladmin -uroot password ‘password’
充值密碼:
mysql> set password for "xiaoxiong"@"localhost"=password('xiaoxiong01')
mysql>set password=password(‘password’);修改當(dāng)前用戶密碼
mysql> FLUSH PRIVILEGES;
無論是創(chuàng)建還是修改都需要刷新內(nèi)存,否則不會生效。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。