MySQL數據庫——DCL管理用戶以與授權&忘記root密碼的解決方案

目錄

1 DCL管理用戶

2 DCL權限管理


1 DCL管理用戶

之前的博客講解了SQL的分類:

  • DDL:操作數據庫庫和表
  • DML:增刪改表中的數據
  • DQL:查詢表中數據
  • DCL:管理用戶,授權,一般是DBA(數據庫管理員)使用

1)添加用戶:CREATE USER '用戶名'@'主機名' IDENTIFIED BY '密碼';

2)刪除用戶:DROP USER '用戶名'@'主機名';

3)修改用戶密碼:
      方法一:UPDATE USER SET PASSWORD = PASSWORD('新密碼') WHERE USER = '用戶名';
      方法二:SET PASSWORD FOR '用戶名'@'主機名' = PASSWORD('新密碼');

【注意】若此時忘記了root密碼怎麼辦?

  • 1、 停止mysql服務:管理員權限打開cmd-》 net stop mysql
  • 2、無驗證方式啓動mysql服務:mysqld --skip-grant-tables
  • 3、打開新的cmd窗口:直接輸入mysql命令,回車即可成功登錄
  • 4、使用mysql數據庫:use mysql;
  • 5、修改root密碼:update user set password = password('新密碼') where user = 'root';
  • 6、關閉兩個窗口
  • 7、打開任務管理器,關閉mysqld.exe進程
  • 8、管理員權限打開cmd,啓動mysql服務
  • 9、使用新密碼登錄

4)查詢用戶:
     use mysql; -- 切換到mysql數據庫
     select * from user; -- 查詢user表
     注意:通配符%表示可以在任意主機使用用戶登錄數據庫。

2 DCL權限管理

1)查詢權限:SHOW GRANTS FOR '用戶名'@'主機名'

2)授予權限:grant 權限列表 on 數據庫名.表名 to '用戶名'@'主機名'

【舉例】:給用戶zhangsan授予查詢權限:GRANT SELECT ON db1.account TO 'zhangsan'@'localhost';

【舉例】:給用戶zhangsan授予所有權限:GRANT ALL ON *.* TO 'zhangsan'@'localhost';

3)撤銷權限:revoke 權限列表 on 數據庫名.表名 from '用戶名'@'主機名';

 

———————————————————————————————————————

本文爲博主原創文章,轉載請註明出處!

若本文對您有些許幫助,輕擡您發財的小手,關注/評論/點贊/收藏,就是對我最大的支持!

祝君升職加薪,鵬程萬里!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章