日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

二十、MySQL之用户权限管理(用户管理、权限管理、忘记root密码的解决方案)

發布時間:2024/7/5 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二十、MySQL之用户权限管理(用户管理、权限管理、忘记root密码的解决方案) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用戶權限管理:在不同的項目中給不同的角色(開發者)不同的操作權限,為了保證數據庫數據的安全。

通常,一個用戶的密碼不會長期不變,所以需要經常性的變更數據庫用戶密碼來確保用戶本身安全(mysql客戶端用戶)

一、用戶管理

Mysql需要客戶端進行連接認證才能進行服務器操作:需要用戶信息。Mysql中所有的用戶信息都是保存在mysql數據庫下的user表中。

默認的,在安裝Mysql的時候,如果不選擇創建匿名用戶,那么意味著所有的用戶只有一個:root超級用戶:

在mysql中,對用的用戶管理中,是由對應的HostUser共同組成主鍵來區分用戶。
User:代表用戶的用戶名
Host:代表本質是允許訪問的客戶端(IP或者主機地址)
如果host使用%代表所有的用戶(客戶端)都可以訪問

1.1 創建用戶

理論上講可以采用兩種方式創建用戶:

  • 直接使用root用戶在mysql.user表中插入記錄(不推薦)
  • 專門創建用戶的SQL指令
  • 基本語法:create user 用戶名 identified by ‘明文密碼’;
    用戶:用戶名@主機地址
    主機地址:’’ / ‘%’

    查看mysql.user表中是否存在新增的用戶:

    簡化版創建用戶(誰都可以訪問,不需要密碼):

    當用戶創建完成之后,用戶是否可以使用?

    1.2 刪除用戶

    注意:mysql中user是帶著host本身的(具有唯一性)
    基本語法:drop user 用戶名@host;

    1.3 修改用戶密碼

    Mysql中提供了多種修改的方式:基本上都必須使用對應提供的一個系統函數:password(),需要靠該函數對密碼進行加密處理。

  • 使用專門的修改密碼的指令
    基本語法:set password for 用戶 = password(‘新的明文密碼’);

    修改后的數據測試:
  • 使用更新語句update來修改表
    基本語法:update mysql.user set password = password(‘新的明文密碼’) where user = ‘’ and host= ‘’;
  • 二、權限管理

    在mysql中將權限管理分為三類:

  • 數據權限:增刪改查(select\update\delete\insert)
  • 結構權限:結構操作(create\drop)
  • 管理權限:權限管理(create user\grant\revoke):通常只給管理員如此權限
  • 2.1 授予權限:grant

    將權限分配給指定的用戶
    基本語法:grant 權限列表 on 數據庫/.表名/ to 用戶;

    權限列表:使用逗號分隔,但是可以使用all privileges代表全部權限

    數據庫.表名:可以是單表(數據庫名字.表名),可以是具體某個數據庫(數據庫.),也可以整庫(.*)

    用戶被分配權限以后不需要退出就可以看到效果:

    具體權限查看:單表權限只能看到數據庫中的一張表:

    2.2 取消權限:revoke

    權限回收:將權限從用戶手中收回
    基本語法:revoke 權限列表/all privileges on 數據庫/.表/ from 用戶;

    權限回收,同樣不需要刷新,用戶馬上就會感受到:

    2.3 刷新權限:flush

    Flush:刷新,將當前對用戶的權限操作,進行一個刷新,將操作的具體內容同步到對應的表中。
    基本語法:flush privileges;

    三、密碼丟失的解決方案

    如果忘記了root用戶密碼,就需要去找回或者重置root用戶密碼

  • 停止服務
  • 重新啟動服務:mysqld.exe –skip-grant-tables //啟動服務器但是跳過權限
  • 當前啟動的服務器沒有權限概念:非常危險,任何客戶端,不需要任何用戶信息都可以直接登錄,而且是root權限:新開客戶端,使用mysql.exe登錄即可
  • 修改root用戶的密碼:指定 用戶名@host
  • 趕緊關閉服務器,重啟服務
  • 總結

    以上是生活随笔為你收集整理的二十、MySQL之用户权限管理(用户管理、权限管理、忘记root密码的解决方案)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。