DCL : 管理使用者,權限管理
管理使用者
- 添加使用者 :
CREATE USER '使用者名'@'主機名' IDENTIFIED BY '密碼';
- 删除使用者 :
DROP USER '使用者名'@'主機名';
- 查詢使用者
-- 1. 切換到mysql資料庫
USE mysql;
-- 2. 查詢user表
select * from USER;
通配符 : % 表示可以再任意主機使用使用者登入資料庫
-
修改使用者密碼
兩種方式 :
UPDATE USER SET PASSWORD = PASSWORD('新密碼') WHERE USER = '使用者名';
SET PASSWORD FOR '使用者名'@'主機名' = PASSWORD('新密碼');
- 管理者身份運作cmd – >
// 停止mysql服務net stop mysql
- 重新打開cmd, 使用無驗證方式啟動mysql服務 :
mysql --skip-grant-tables
- 重新打開cmd, 直接輸入
進行登入mysql
-
進行使用者密碼的修改
use mysql;
UPDATE USER SET PASSWORD = PASSWORD('root') WHERE USER = 'root';
- 完成密碼修改後, 打開任務管理器
- 管理者身份運作cmd, 輸入
// 運作mysql服務net start mysql
- 使用正常的mysql登入指令即可.
mysql -uroot -proot
權限管理
- 查詢權限
-- 查詢權限
SHOW GRANTS FOR '使用者名'@'主機名'
- 授予權限
-- 授予權限
grant 權限清單 on 資料庫名.表名 to '使用者名'@'主機名';
-- 給jack使用者授予所有全面, 在任意資料庫任意表上
grant ALL ON *.* TO 'jack'@'%';
- 撤銷權限
-- 撤銷權限
revoke 權限清單 on 資料庫名.表名 from '使用者名'@'主機名';
--撤銷jack使用者的對mysql資料庫的user表的修改權限
REVOKE UPDATE ON mysql.'user' FROM 'jack'@'%';