亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL用戶權限驗證與管理方法詳解

2024-07-25 19:08:19
字體:
來源:轉載
供稿:網友

本文實例講述了MySQL用戶權限驗證與管理方法。分享給大家供大家參考,具體如下:

一、Mysql權限分兩階段驗證

1. 服務器檢查是否允許連接:用戶名、密碼,主機地址。

2. 檢查每一個請求是否有權限實施。

二、Mysql權限列表

 

權限 權限級別 權限說明
create 數據庫、表或索引 創建數據庫、表或索引權限
drop 數據庫或表 刪除數據庫或表權限
grant option 數據庫、表或保存的程序 賦予權限選項
references 數據庫或表 外鍵權限
alter 更改表,比如添加字段、索引、修改字段等
delete 刪除數據權限
index 索引權限
insert 插入權限
select 查詢權限
update 更新權限
create view 視圖 創建視圖權限
show view 視圖 查看視圖權限
alter routine 存儲過程 更改存儲過程權限
create routine 存儲過程 創建存儲過程權限
execute 存儲過程 執行存儲過程權限
file 服務器主機上的文件訪問 文件訪問權限
create temporary tables 服務器管理 創建臨時表權限
lock tables 服務器管理 鎖表權限
create user 服務器管理 創建用戶權限
proccess 服務器管理 查看進程權限
reload 服務器管理 執行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的權限
replication client 服務器管理 復制權限
replication slave 服務器管理 復制權限
show databases 服務器管理 查看數據庫權限
shutdown 服務器管理 關閉數據庫權限
super 服務器管理 執行kill線程權限

 

三、Mysql用戶權限管理操作

1. 權限查詢:

(1)查看mysql的所有用戶及其權限:

select * from mysql.user/G;

(格式化顯示)

(2)查看當前mysql用戶權限:

show grants;

(3)查看某個用戶的權限:

show grants for 用戶名@主機;

示例:

show grants for root@localhost;

2. Mysql用戶創建:

方法一:使用create user命令創建。

create user '用戶名'@'主機' identified by '密碼';

示例:

create user 'wjt'@'localhost' identified by 'wujuntian';

方法二:直接向數據表mysql.user中插入一條用戶記錄。

示例:

 

復制代碼 代碼如下:
insert into mysql.user set user='wujuntian',host='localhost',password=password('123123');

 

注意:

使用方法二一定要記得要執行flush privileges刷新權限。其次,mysql5.7以后,mysql.user表的password字段已被authentication_string代替,所以應將“password”改為“authentication_string”,密碼一定要使用password函數加密。

3. Mysql用戶刪除:

drop user '用戶名'@'主機';

4. Mysql用戶權限授予:

剛創建的用戶默認是沒有權限的,需要使用grant指令進行權限的授予。

grant指令完整格式:

grant 權限列表 on 數據庫名.數據表名 to '用戶名'@'主機' identified by '密碼' with grant option;

示例:

grant all privileges on *.* to 'wjt'@'localhost' identified by "wujuntian" with grant option;

可使用“*”表示所有數據庫或所有數據表,“%”表示任何主機地址。

可以使用grant重復給用戶添加權限,進行權限疊加。

with grant option:這個選項表示該用戶可以將自己擁有的權限授權給別人。

記得授權后一定要刷新權限:

flush privileges;

5. Mysql用戶權限回收:

revoke指令格式:

revoke 權限列表 on 數據庫名.數據表名 from 用戶名@主機;

示例:

revoke select on test.user from wjt@localhost;

注意:

其實GRANT語句在執行的時候,如果權限表中不存在目標賬號,則創建賬號;如果已經存在,則執行權限的新增。

usage權限不能被回收,也就是說,REVOKE用戶權限并不能刪除用戶。

6. 對賬戶重命名:

rename user '舊用戶名'@'舊主機' to '新用戶名'@'新主機';

示例:

rename user 'wujuntian'@'localhost' to 'ajun'@'localhost';

7. Mysql用戶密碼修改:

方法一:使用set password命令。

set password for '用戶名'@'主機' = password('新密碼');

示例:

set password for 'root'@'localhost' = password('123456');

方法二:修改mysql.user表中的password(或authentication_string)字段。

示例:

 

復制代碼 代碼如下:
update mysql.user set password=password('123123') where user='root' and host='localhost';

 

注意:

此方法一定要執行“flush privileges;”指令刷新權限,否則密碼修改無法生效。Mysql5.7以后應將“password”改為“authentication_string”。

方法三:使用grant指令在授權時修改密碼:

grant select on 數據庫名.數據表名 to 用戶名@主機 identified by '新密碼' with grant option;

示例:

 

復制代碼 代碼如下:
grant select on test.user to ajun@localhost identified by '111111' with grant option;

 

方法四:運行mysqladmin腳本文件。

該文件一般在mysql安裝目錄下的bin目錄中。進入該目錄,根據一下兩種具體情況輸入命令(只有root用戶有這個權限)。

(1)用戶尚無密碼:

mysqladmin -u 用戶名 password 新密碼;

(2)用戶已有密碼:

mysqladmin -u 用戶名 -p password 新密碼;

(回車后會提示輸入舊密碼,輸入之后即可修改成功。)

注意:

更改密碼時候一定要使用PASSWORD函數(mysqladmin 和GRANT 兩種方式不用寫,會自動加上)。

8. 忘記密碼登錄mysql:

方法一:

先停止正在運行的Mysql服務,在命令行窗口進入mysql安裝目錄下的bin目錄,在-skip-grant-tables參數下運行mysqld文件(Linux系統運行mysqld_safe文件更安全):

mysqld --skip-grant-tables

這樣可以跳過Mysql的訪問控制,在控制臺以管理員的身份進入mysql數據庫。另外再開啟一個命令行窗口,進入mysql安裝目錄下的bin目錄,直接輸入:mysql,回車,即可登錄mysql,然后就可以重新設置密碼了(注意:此時“Mysql用戶密碼修改”中的四種方法只有第二種方法能使用!)。設置成功后退出,重啟Mysql服務。

方法二:修改mysql配置文件my.ini。

其實原理和方法一一樣,都是利用Mysql提供的--skip-grant-tables參數來跳過Mysql的訪問控制。打開mysql配置文件my.ini,在'[mysqld]'下加入“skip-grant-tables”,保存,重啟Mysql服務,然后就可以不需密碼登錄mysql進行密碼修改了。

Mysql中的“mysql”數據庫存儲著所有Mysql用戶的權限信息數據表。當Mysql啟動時,所有的權限表內容都被讀進內存中,進行權限判斷時直接使用內存中的內容進行判斷。用grant、revoke或set password對權限表進行的修改會立即被服務器注意到,GRANT操作的本質就是修改權限表后進行權限的刷新。但是如果手工修改權限表,例如使用insert、update、delete等操作權限表的話,應該執行一個flush privileges命令,該命令會使服務器重新讀取權限表內容到內存,從而使修改生效。如果不執行該命令,必須重啟mysql服務才能生效。所以,最好使用grant、revoke或set password對權限表進操作,可以省去執行flush privileges命令的麻煩,而且如果忘了執行這個命令的話你會很抓狂。。。

不僅如此,刪除用戶、重命名用戶最好也分別使用drop user、rename user命令進行操作,而不要使用delete、update命令進行操作。前者不但會對mysql.user數據表進行操作,同時也會更新其他權限表的記錄,而后者只會對mysql.user表的數據進行操作,這樣會出現很多問題,因為用戶的權限信息不僅僅存在于mysql.user表中。比如你使用delete刪除了mysql.user表中的一個用戶,但是沒有操作其他權限數據表的話,那么其他權限數據表例如tables_priv中關于該用戶的權限記錄還存在著,下次如果想使用create user命令創建相同名稱的用戶會失敗,只能使用insert into指令向mysql.user表中插入記錄,或者先把其他權限數據表中與該用戶名相關的記錄刪除。使用update命令重命名用戶也會出現很大問題,重命名后用戶失去了很多的權限,而其他權限表中關于原用戶名的記錄則成了沒用的記錄,除非你對每一個權限表都進行相同的更新操作,但這很麻煩。所以,使用drop user、rename user吧,一個命令就可以讓系統自動幫你完成所有事情,何樂而不為呢!

Mysql權限檢查:

mysql 先檢查對大范圍是否有權限,如果沒有再到小范圍里去檢查。比如:先檢查對這個數據庫是否有select權限,如果有,就允許執行。如果沒有,再檢查對表是否有select權限,一直到最細粒度,也沒有權限,就拒絕執行。因此,粒度控制越細,權限校驗的步驟越多,性能越差。

希望本文所述對大家MySQL數據庫計有所幫助。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩电影在线观看| 久久久99久久精品女同性| 国产亚洲精品久久久久动| 国产精品久久久久久网站| 日韩中文字幕网址| 国产精品视频一区二区高潮| 欧美中文在线视频| 亚洲人精品午夜在线观看| 久久精品久久久久| 久久夜色精品国产欧美乱| 日韩人体视频一二区| 国产精品久久久久久久av大片| 国产精品入口日韩视频大尺度| 中日韩午夜理伦电影免费| 日韩av不卡电影| 欧美精品999| 日韩精品丝袜在线| 大胆人体色综合| 久久久久久久久久亚洲| 亚洲天堂网在线观看| 91爱爱小视频k| 亚洲美女av黄| 国产69久久精品成人看| 欧美成年人在线观看| 欧美日本精品在线| 国产精品高精视频免费| 久久精品久久久久久国产 免费| 欧美激情国内偷拍| 国产精品一区久久久| 精品在线观看国产| 国产精品视频精品视频| 97视频色精品| 亚洲欧美成人一区二区在线电影| 欧美视频中文在线看| 欧美激情网站在线观看| 狠狠爱在线视频一区| 91社影院在线观看| 高清视频欧美一级| 欧美性猛交xxxx乱大交| 久久精品中文字幕免费mv| 亚洲国产日韩欧美综合久久| 精品亚洲一区二区| 欧美理论电影在线观看| 国产精品自产拍在线观看| 亚洲日本成人网| 国产精品亚洲网站| 一本大道亚洲视频| 国产日韩欧美夫妻视频在线观看| 亚洲小视频在线| 精品国产一区二区三区在线观看| 欧美性猛交xxxx免费看漫画| 伊人精品在线观看| 亚洲欧洲成视频免费观看| 国产午夜精品一区理论片飘花| 国产男人精品视频| 欧美日韩中国免费专区在线看| 国产一区二区三区丝袜| 精品亚洲一区二区三区在线播放| 久久久久久久久久国产| 国产成人aa精品一区在线播放| 久久久99久久精品女同性| 在线观看不卡av| 国产欧美欧洲在线观看| 久久亚洲精品中文字幕冲田杏梨| 亚洲女人天堂色在线7777| 久久影视免费观看| 成人a级免费视频| 亚洲欧洲成视频免费观看| 国产精品私拍pans大尺度在线| 欧美在线性视频| 成人激情黄色网| 国产做受高潮69| 亚洲视频网站在线观看| 欧美最猛性xxxx| 成人a级免费视频| 性欧美视频videos6一9| 欧美国产日韩一区二区| 国产精品av免费在线观看| 亚洲免费视频在线观看| 伦理中文字幕亚洲| 亚洲免费视频一区二区| 国产69精品久久久久99| 亚洲免费av片| 日韩激情av在线播放| 欧美精品做受xxx性少妇| 欧美性感美女h网站在线观看免费| 亚洲深夜福利在线| 在线看日韩欧美| 亚洲a在线播放| 日韩最新免费不卡| 亚洲欧美日韩在线一区| 成人黄色激情网| 91av免费观看91av精品在线| 欧美www视频在线观看| 中文字幕亚洲综合久久| 国产精品99久久久久久久久| 日韩成人免费视频| 亚洲国产成人在线视频| 亚洲精品永久免费| 91久久夜色精品国产网站| 黑人巨大精品欧美一区免费视频| 亚洲午夜久久久久久久| 欧美日韩亚洲精品一区二区三区| 欧美巨乳在线观看| 欧美国产亚洲精品久久久8v| 欧美日韩在线免费观看| 亚洲最大av网站| 欧美成人免费一级人片100| 97在线免费观看| 97国产在线视频| 久久精品色欧美aⅴ一区二区| 亚洲va电影大全| 成年无码av片在线| 韩国欧美亚洲国产| 美日韩在线视频| 欧美性一区二区三区| 91高潮精品免费porn| 最近2019免费中文字幕视频三| 久久青草福利网站| 2019中文字幕免费视频| 欧美大片在线看免费观看| 成人黄在线观看| 久久精品国产电影| 欧美在线视频观看免费网站| 亚洲女同性videos| 亚洲精品美女在线观看播放| 亚洲一级免费视频| 琪琪第一精品导航| 久久久噜噜噜久噜久久| 九九视频这里只有精品| 伊人伊成久久人综合网小说| 中文字幕亚洲激情| 欧美性猛交99久久久久99按摩| 欧美精品性视频| 亚洲国产婷婷香蕉久久久久久| 国内精品一区二区三区| 亚洲国产精品va在线观看黑人| 午夜精品一区二区三区在线视| 欧美日韩亚洲一区二区三区| 国产精品草莓在线免费观看| 日本精品久久久久影院| 亚洲人成网站免费播放| 亚洲www在线观看| 国产福利视频一区| 日韩欧美极品在线观看| 亚洲国产古装精品网站| 日韩大片免费观看视频播放| 欧美性xxxx极品高清hd直播| 亚洲国产成人精品久久久国产成人一区| 亚洲图片欧美午夜| 国产亚洲在线播放| 亚洲精品视频免费在线观看| 中文字幕日韩欧美在线视频| 国产不卡av在线免费观看| 国产精品pans私拍| 欧美刺激性大交免费视频| 国产区精品视频| 欧美床上激情在线观看| 91精品国产91| 亚洲第一中文字幕在线观看| 成人网页在线免费观看| 国产精品久久一区| 国产91精品视频在线观看| 欧美精品一区二区三区国产精品|