mysql的安全性控制
mysql采用二級訪問控制機制:第一級是用戶登錄服務器權限,通過用戶名,密碼,客戶端登錄IP來控制;第二級是針對已經登錄的用戶,對那些數據庫具有哪些權限。權限可以通過如下查詢:
show privileges;
mysql通過mysql數據庫來保存這些權限信息的。use mysql;
show tables;
其中user表保存了大部分信息,但是一般只用它來保存一級權限:show tables;
select Host ,User, Password from user;
匿名用戶要刪除,即是那些可以不用用戶名登錄的用戶:delete from user where User='';
user表中有二級權限的選項,但是為了區分的具體的數據庫,就不使用該表的內容,而把它留到其他表中,如db;一般對二級權限修改的時候都使用SQL;
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';
GRANT USAGE ON *.* TO 'jeffrey'@'localhost';
其中all和usage是相對的,即all全有,usage全無;db1是數據庫,invoice 是表,*.*表示所有數據庫。
需要查看某用戶的權限時可以show grants for user@localhost;
刪除用戶的權限使用revokeREVOKE ALL PRIVILEGES, GRANT OPTION on db.table FROM user ;
posted on 2011-11-11 11:22 is-programmer 閱讀(147) 評論(0) 編輯 收藏 引用 所屬分類: mysql數據庫