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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 查看个人版,MySQL系列-权限管理

發(fā)布時間:2023/12/15 数据库 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 查看个人版,MySQL系列-权限管理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MySQL系列-權(quán)限管理

運維少年 運維少年

系列文章說明

MySQL系列文章包含了軟件安裝、具體使用、備份恢復(fù)等內(nèi)容,主要用于記錄個人的學(xué)習(xí)筆記,主要使用的MySQL版本為5.7.28,服務(wù)器系統(tǒng)版本為CentOS 7.5。本章節(jié)為數(shù)據(jù)庫權(quán)限管理。

權(quán)限

什么是權(quán)限?

① MySQL的權(quán)限是針對用戶設(shè)計,管理員可以根據(jù)不同的用戶賦予不同的權(quán)限,權(quán)限的作用對象為數(shù)據(jù)庫和表。即對用戶操作對象的行為進行限制。

② Linux則跟MySQL不同,Linux的權(quán)限更多的是文件屬性,如我們可以通過chmod或者chown等命令對文件權(quán)限的屬性進行修改。

權(quán)限的表現(xiàn)形式是什么?

① MySQL的權(quán)限表示形式為:用戶的增刪改查權(quán)限

② Linux的權(quán)限通常表示為:文件的rwx屬性

如何查看權(quán)限?

MySQL數(shù)據(jù)庫可以使用show命令查看用戶的權(quán)限信息。

查看用戶授權(quán)常用格式

show grants for 用戶;

查看yunwei用戶的權(quán)限信息

show grants for yunwei@'%';

如何添加權(quán)限

MySQL數(shù)據(jù)庫添加權(quán)限使用的命令為grant,添加授權(quán)在用戶重新連接后才生效。

版本說明

① 8.0版本之前,grant命令可以用于創(chuàng)建用戶和權(quán)限賦值

② 8.0(含)版本之后,grant命令只能用于權(quán)限賦值

③ 為了命令能夠通用,本文使用通用的方式進行配置

添加授權(quán)常用格式:

grant 權(quán)限1,權(quán)限2,權(quán)限... on 對象(數(shù)據(jù)庫/表) to 用戶;

添加權(quán)限 管理員權(quán)限

一般來說,管理員擁有所有權(quán)限,在添加管理員用戶時,權(quán)限字段可以通過ALL參數(shù)設(shè)置,將所有操作對象權(quán)限賦予管理員用戶。

創(chuàng)建一個管理員user1,并賦予管理員權(quán)限。

create user user01@'%' identified by '123'; # 創(chuàng)建用戶

grant all on *.* to user01@'%'; # all為所有權(quán)限 *.* 表示所有的數(shù)據(jù)庫和表

如果該管理員需要擁有對其他用戶管理權(quán)限時,應(yīng)在賦值后面添加with grant option字段

grant all on *.* to user01@'%' with grant option;

測試無管理用戶權(quán)限時,對用戶權(quán)限管理情況。

select user,host from mysql.user; # 查看用戶

grant select on mysql.* to yunwei@'%'; # 賦予mysql數(shù)據(jù)庫所有表的select權(quán)限給yunwei

測試有管理用戶權(quán)限時,對用戶權(quán)限管理情況

如果用戶權(quán)限沒有變化,請使用以下命令刷新權(quán)限信息

flush privileges;

添加權(quán)限 普通用戶權(quán)限

一般來說,對普通用戶的權(quán)限管理會精細到某個數(shù)據(jù)庫或者表。例如app用戶只能管理app數(shù)據(jù)庫,yunwei用戶只能管理app數(shù)據(jù)庫的user表等。

對user02用戶賦予app數(shù)據(jù)庫的查詢和創(chuàng)建表權(quán)限

grant create,select on app.* to 'user02'@'%'; # 賦予權(quán)限

flush privileges; # 刷新權(quán)限信息

show grants for 'user02'@'%'; # 查看用戶權(quán)限

測試user02在app數(shù)據(jù)中創(chuàng)建表user和查看表

select user(); #查看當(dāng)前用戶

create table app.user(id int,name varchar(20));

測試user02對app數(shù)據(jù)庫中的其他操作和對其他數(shù)據(jù)庫的操作

? 注意

MySQL數(shù)據(jù)庫多次授權(quán)時不會覆蓋原來的權(quán)限!例如user01有select權(quán)限,下次授權(quán)create權(quán)限給user01,這時user01會擁有select和create兩種權(quán)限。

如何刪除授權(quán)

MySQL數(shù)據(jù)庫一般使用revoke命令對用戶的權(quán)限進行移除,移除授權(quán)在用戶重新連接后才生效。

刪除授權(quán)的一般格式:

revoke 權(quán)限 on 對象 from 用戶;

刪除user02用戶對app數(shù)據(jù)庫的select權(quán)限

show grants for 'user02'@'%'; # 查看用戶權(quán)限

revoke select on app.* from 'user02'@'%'; # 刪除授權(quán)

show grants for 'user02'@'%'; # 查看用戶權(quán)限

刪除user02用戶對app庫的所有權(quán)限

show grants for 'user02'@'%'; # 查看用戶權(quán)限

revoke all on app.* from 'user02'@'%'; # 刪除授權(quán)

show grants for 'user02'@'%'; # 查看用戶權(quán)限

如何查看權(quán)限

查看權(quán)限 用戶權(quán)限

用戶權(quán)限可以使用show命令查看,也可以查看數(shù)據(jù)庫表記錄。

show grants for 用戶;

查看數(shù)據(jù)表中的記錄

select * from mysql.user where user='user02'\G;

查看權(quán)限 查看數(shù)據(jù)庫權(quán)限信息

數(shù)據(jù)庫權(quán)限信息保存在mysql.db表中

select * from mysql.db where Db='app'\G;

查看權(quán)限 其他對象權(quán)限

MySQL常用權(quán)限

個人思維導(dǎo)圖

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的mysql 查看个人版,MySQL系列-权限管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。