《學習》13權限管理
-- 用戶與權限管理
-- 查看當前服務器上的所有賬號密碼主機
SELECT USER,PASSWORD,HOST FROM mysql.user;
-- 設置賬號密碼
SET PASSWORD=PASSWORD(‘111‘);
-- 密碼為空 取消密碼
SET PASSWORD=‘‘;
-- 查看當前登錄帳號名主機名
SELECT USER();
-- 修改某賬號的密碼,前提登錄賬號必須有修改其他賬號權限
SET PASSWORD FOR root@localhost=PASSWORD(‘11‘);
SET PASSWORD FOR admin=‘‘;
-- 新建超極管理員賬戶 密碼111 權限跟root一樣
GRANT ALL ON *.* TO ‘admin‘@‘%‘ IDENTIFIED BY ‘111‘;
DROP USER `user`;-- 刪除賬號
-- 建立沒有任何權限的賬號
CREATE USER ‘aa‘;
CREATE USER ‘bb‘ IDENTIFIED BY ‘111‘;
-- 創建管理某個庫的賬號 但不允許建立另外的庫 可以刪除
GRANT ALL ON db.* TO ‘user‘@‘%‘ IDENTIFIED BY ‘user‘;
-- 立即刷新權限
FLUSH PRIVILEGES;
只允許這個ip用戶使用
CREATE USER ‘yy‘@‘192.168.1.1‘ IDENTIFIED BY ‘123‘;
CREATE USER ‘yy‘@‘192.168.1.%‘ IDENTIFIED BY ‘123‘;
-- 給賬號 創建 的權限 GRANT 權限 ON *.* TO ‘用戶名‘@‘主機名或ip地址‘;
GRANT CREATE ON *.* TO ‘yy‘@‘192.168.1.1‘;
-- 收回權限
REVOKE CREATE ON *.* TO ‘yy‘@‘192.168.1.1‘;
-- view 簡化復雜的查詢語句 提高數據的安全性 授權yy賬號只能查詢表sss的編號跟姓名
CREATE VIEW vv AS
SELECT sid 編號,sname 姓名 FROM sss;
SELECT * FROM vv;
GRANT SELECT ON db.`vv` TO ‘yy‘@‘192.168.1.1‘;
-- 修改賬號的名稱
UPDATE mysql.user SET USER=‘abc‘;
RENAME USER ‘yy‘@‘192.168.1.1‘ TO admin
-- 若是不說主機名 則是任意主機的admin都修改為admin
RENAME USER yy TO admin;
《學習》13權限管理