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

歡迎訪問 生活随笔!

生活随笔

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

数据库

android通过用户名密码访问服务器获取信息_MySQL ------ 管理用户对数据库的访问控制(GRANT 与 REVOKE)(二十九)...

發布時間:2023/12/15 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android通过用户名密码访问服务器获取信息_MySQL ------ 管理用户对数据库的访问控制(GRANT 与 REVOKE)(二十九)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據庫服務器通常包含著關鍵的數據,所以為了確保這些數據的安全和完整需要要利用訪問控制。

MySQL服務器的安全基礎是:用戶應該對他們需要的數據具有適當的訪問權,既不能多也不能少(即用戶不能對過多的數據具有訪問權)

訪問控制:需要給用戶提供他們所需的訪問權,且僅提供他們所需的訪問權。

管理訪問控制需要創建和管理用戶賬號 如: 1、多數用戶只需要對表進行讀和寫,但少數用戶甚至需要能創建和刪除表 2、某些用戶需要讀表,但可能不需要更新表 3、你可能想允許某些用戶添加數據,但不允許他們刪除數據 4、某些用戶(管理員)可能需要處理用戶賬號的權限,但多數用戶可能不需要 5、你可能想讓用戶通過存儲過程訪問數據,但不允許他們直接訪問數據 6、你可能根據用戶登錄的地點限制對某些功能的訪問

最開始安裝時為了操作數據庫,需要登陸MySQL,創建一個名為root用戶賬號,使它對整個MySQL 服務器具有完全的控制,之前的操作也是依賴于此賬號,你一個人怎么弄都行,但是要是實際使用的話,應該創建一系列的賬號,有的用于管理,有的用于用戶、開發等等

注意:

1、訪問控制的目的不僅僅是防止用戶的惡意企圖,更常見的是防止無意識的操作錯誤,通過保證用戶不能執行他們不應該執行的語句,有利于維護數據的安全,

2、要嚴肅對來root 登錄使用,僅在絕對需要的時候使用它

MySQL Administrator 提供了一個圖形用戶界面,用來管理用戶及賬號權限。本文使用語句進行操作 ,下面就來介紹一下

One、查看用戶

MySQL用戶賬號和信息存儲在名為mysql 的數據庫,一般不需要直接訪問mysql 數據庫和表,但有時需要直接訪問

需要直接訪問它的時機之一是在需要獲得所有用戶賬號列表時

-- 使用名為mysql 的數據庫

從中可以看出,mysql 數據庫中有一個名為user 的表,它包含所有的用戶賬號,

user表中有一個名為user 的列,它存儲用戶登錄名。新安裝的一般就一個root 用戶

試驗對用戶賬號和權限進行更改的最好方法就是打開多個數據庫客戶機(如mysql命令行實用程序的多個副本),作為一個管理登錄,其他作為被測試的用戶登陸

Two、創建用戶賬號(并指定密碼)

cretae user 創建一個新用戶賬號,在創建用戶賬號時不一定需要口令(即密碼),指定口令時使用 IDENTIFIED BY 進行指定

-- create user 用戶名 identified by 密碼

這個表有 45行,有很多是一些其訪問權限的控制

驗證一下有沒有,創建成功

注意:

1、identified by 指定的口令為純文本,MySQL將在保存到user 表之前對其加密,為了作為散列值指定口令使用 IDENTIFIED BY PASSWORD

IDENTIFIED BY PASSWORD

2、GRANT 語句也可以用于創建用戶賬號,但一般使用CREATE USER ,因為create user 語句最為清楚和簡單,也可以使用insert語句進行增加不過一般不建議,因為MySQL用來存儲用戶賬號信息的表(以及表模式等)極為重要,對他們的任何毀壞都有可能嚴重的傷害到MySQL服務器,因此相對于直接處理來說,最好是用標記和函數來處理這些表。

Three、重命名用戶名 (RENAME)

-- RENAME USER 原來的名字 TO 現在的

注意:僅在MySQL 5 或之后的版本支持上述語句(rename user),之前是通過 update語句進行更新

Four、更改口令

使用 SET PASSWORD ,新的口令必須加密

主要分為兩種,一種是給指定的用戶設置密碼,另一種是自己設置自己的密碼

-- 給 obge 這個用戶更改密碼

注意:SET PASSWORD 更新用戶口令時,新的口令必須傳遞到Password()函數中進行加密

Five、刪除用戶賬號(DROP)

為了刪除一個用戶賬號(以及相關的權限),使用 DROP USER 用戶名

-- 刪除名為 boge 的用戶

注意:MySQL 5 或之后的版本可以通過 drop user 來刪除用戶賬號和所有相關的賬號權限,但是之前的版本,使用drop user 語句只能刪除用戶賬號,不能刪除賬號權限,還要先借助 REVOKE刪除與賬號相關的權限,然后在使用drop user 刪除賬號。

Six、設置訪問權限(GRANT)

在創建用戶賬號后必須接著分配訪問權限。因為新創建的用戶賬號沒有訪問權限,雖然可以登陸MySQL但不能看到數據,不能執行任何數據操作。

1、查看賦予用戶賬號的權限

-- SHOW GRANTS FOR 用戶賬號名

上述中, USAGE ON *.* 表示沒有權限,與之相對的是 ALL PRIVILEGES ON *.* 與所有權限。

而 GRANT USAGE ON *.* TO 'obge'@'%' 就可以理解為,在任意數據庫和任意表上對任何東西沒有權限。

MySQL 的權限使用: 用戶名和主機名結合定義(user@host),

如果不指定主機名,則使用默認的主機名%授予用戶訪問權限而不管主機名

2、使用 grant 語句進行設置權限

設置時需要至少提供:要授予的權限,被授予訪問權限的數據庫或表以及 用戶名

如:設置 obge 這個用戶只可以查詢 bookstu 這個數據庫的所有表

-- GRANT SELECT ON 數據庫名.* TO 用戶名

上述 grank 允許 用戶在bookstu 數據庫的所有表(bookstu.*)上使用 select,通過只授予select 訪問權限,用戶 obge ,對bookstu 這個數據庫中的所有數據具有只讀權限。

登陸測試一下

3、撤銷特定的權限(REVOKE)

-- REVOKE 設置的權限 from 用戶名

撤銷用戶obge 對 bookstu.archive_orders 的增加權限

注意: 被撤銷的訪問權限必須存在否則會報錯

4、GRANT 與 REVOKE

4.1、grant 與revoke 可在以下幾個層次進行控制訪問權限

a、整個服務器,使用GRANT ALL 和 REVOKE ALL

b、整個數據庫,使用 ON database.*

c、特定的表,使用ON databse.table

d、特定的列

e、特定的存儲過程

4.2、可以授予和撤銷的每個權限

使用 grant 和revoke 結合表中列出的權限,可以完全控制用戶對數據做什么事情和不能做什么事情。

注意:

1、在使用grant和 revoke時,用戶賬號必須存在,但對所涉及的對象沒有這個要求。這允許管理員在創建數據和表之前設計和實現安全措施,但是這樣做的副作用是當某個數據庫或表被刪除時,相關的訪問權限依然存在,而且將來重新創建該數據庫或表時,這些權限依然起作用,所以建議,在設置權限時對那些存在的數據庫和表進行設置表

2、可以通過列出各個權限并用逗號分隔,將多條grant 語句串在一起

-- 允許obge 對 bookstu 數據庫中的表執行 增加和查看操作

總結

以上是生活随笔為你收集整理的android通过用户名密码访问服务器获取信息_MySQL ------ 管理用户对数据库的访问控制(GRANT 与 REVOKE)(二十九)...的全部內容,希望文章能夠幫你解決所遇到的問題。

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