最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL中的用戶管理權(quán)限與用戶詳解

 更新時(shí)間:2026年05月23日 10:43:50   作者:啊吧怪不啊吧  
這篇文章給大家介紹SQL中的用戶管理權(quán)限與用戶的相關(guān)操作,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

我們?cè)贛ySQL的學(xué)習(xí)過程中一開始基本上都是使用root用戶來進(jìn)行各種操作的,但是其實(shí)這樣是不好的,因?yàn)槲覀冊(cè)谝院蠊ぷ鞯臅r(shí)候是不可能給你root用戶來進(jìn)行操作的,所以我們?cè)谶@里要提前適應(yīng)普通用戶。

1. 用戶相關(guān)

我們首先要學(xué)會(huì)查看用戶的信息,再我看來這是第一步,接著我們?cè)趯W(xué)會(huì)創(chuàng)建,銷毀用戶之類的操作。

1.1 查看已存在用戶的信息

use mysql;
select host,user,authentication_string from user;

我們需要使用到上面兩條指令來進(jìn)行查看信息。

不知道各位有沒有這個(gè)疑惑,就是我是查看用戶信息又不是所有某一個(gè)數(shù)據(jù)庫,為什么需要先use mysql呢?這是因?yàn)樵趍ysql這個(gè)數(shù)據(jù)庫系統(tǒng)里面,用戶相關(guān)的各種信息也是存放在表里面的。

各位仔細(xì)看下面這張圖片,這里面有三個(gè)用戶,這三個(gè)用戶都是系統(tǒng)自帶的,分別是:

  • root@localhost:MySQL 的超級(jí)管理員用戶,擁有最高權(quán)限(可以操作所有數(shù)據(jù)庫、表、權(quán)限等),是我們?nèi)粘9芾頂?shù)據(jù)庫時(shí)常用的賬號(hào)。
  • mysql.session@localhost: MySQL 內(nèi)部服務(wù)使用的用戶,主要用于系統(tǒng)進(jìn)程之間的通信(比如 MySQL 的插件、內(nèi)部管理操作),不能手動(dòng)登錄使用。
  • mysql.sys@localhost: MySQL 5.7 及以上版本新增的用戶,用于管理系統(tǒng)視圖(sys schema)(sys 庫是 MySQL 提供的簡化性能監(jiān)控、運(yùn)維管理的視圖集合),同樣是內(nèi)部專用,不能手動(dòng)登錄。

字段解釋:

host表示這個(gè)用戶可以從哪個(gè)主機(jī)登陸,如果是localhost,表示只能從本機(jī)登陸

user用戶名

authentication_string用戶密碼通過password函數(shù)加密后的

*_priv用戶擁有的權(quán)限

1.2 創(chuàng)建新用戶

代碼:

create user '用戶名'@'登陸主機(jī)/ip' identified by '密碼';

我們通過上面的代碼就可以創(chuàng)建一個(gè)新用戶。

在我們接下來的學(xué)習(xí)中我們創(chuàng)建新用戶都是使用root賬號(hào)來進(jìn)行創(chuàng)建的,但是我們不可以誤以為只有root賬號(hào)可以創(chuàng)建新用戶,有cheate user權(quán)限的普通用戶也可以創(chuàng)建新用戶,這個(gè)我們?cè)诤竺鏁?huì)說到。

我們看下面這張圖,這樣我們就創(chuàng)建好一個(gè)用戶。

PS:當(dāng)我們使用root賬號(hào)創(chuàng)建一個(gè)新用戶的時(shí)候,這個(gè)新用戶默認(rèn)是沒有權(quán)限的,也就是什么都做不了的,因?yàn)閯?chuàng)建庫和創(chuàng)建表以及select都是需要一定的權(quán)限的。

這邊想要額外提一下,就是我們的那個(gè)登入主機(jī)的位置如果選的是localhost的話就是說這個(gè)賬號(hào)只支持本地登入,也就是只有創(chuàng)建這個(gè)賬號(hào)的這臺(tái)設(shè)備可以登入這個(gè)用戶。

如果是想要某一臺(tái)設(shè)備可以登入的話,那么就在這個(gè)位置輸入那臺(tái)設(shè)備的ip。

如果是想要什么設(shè)備只要知道密碼都可以登入的話,那么我們就在這個(gè)位置直接輸入一個(gè)‘%’就可以了。

1.3 刪除用戶

代碼:

drop user '用戶名'@'主機(jī)名'

我們看,這樣我們就可以把叫做‘1’的本地登入的用戶給刪除了。

這一步是不需要密碼的,也就是不需要‘1’的密碼,可以直接刪除。

1.4 修改用戶登入密碼

這個(gè)的話又比較不同了,因?yàn)樵谶@里可以分為用戶自己修改密碼和root用戶來修改普通用戶的密碼。

用戶自己修改密碼:

set password=password('新的密碼');

如果是普通用戶自己修改密碼的話,我們需要先登入那個(gè)賬號(hào)。

root用戶來修改密碼:

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

root的話直接指定需要修改哪一個(gè)就好了。

2. 權(quán)限相關(guān)

首先我們需要知道什么叫做權(quán)限。在MySQL中什么都是需要權(quán)限的,無論是創(chuàng)建查看數(shù)據(jù)庫數(shù)據(jù)表或者創(chuàng)建刪除用戶,這些都是需要相應(yīng)的權(quán)限我們才可以做到的。

相關(guān)的權(quán)限:

一、全局權(quán)限(作用于所有數(shù)據(jù)庫)

全局權(quán)限存儲(chǔ)在mysql.user表中,授權(quán)時(shí)用ON *.*指定:

  • ALL PRIVILEGES:所有權(quán)限(除GRANT OPTION外的全部權(quán)限,加上WITH GRANT OPTION則包含授權(quán)權(quán)限)。
  • CREATE USER:創(chuàng)建 / 刪除用戶、修改用戶密碼。
  • DROP USER:刪除用戶。
  • SUPER:超級(jí)權(quán)限(如 kill 進(jìn)程、修改全局變量、日志管理)。
  • SHOW DATABASES:查看所有數(shù)據(jù)庫列表。
  • RELOAD:重新加載權(quán)限表、刷新日志等。
  • SHUTDOWN:關(guān)閉 MySQL 服務(wù)。
  • PROCESS:查看所有進(jìn)程(SHOW PROCESSLIST)。
  • FILE:讀寫服務(wù)器本地文件(如LOAD DATA INFILE)。

二、數(shù)據(jù)庫權(quán)限(作用于指定數(shù)據(jù)庫)

數(shù)據(jù)庫權(quán)限存儲(chǔ)在mysql.db表中,授權(quán)時(shí)用ON 數(shù)據(jù)庫名.*指定:

  • CREATE:創(chuàng)建新數(shù)據(jù)庫或表。
  • DROP:刪除數(shù)據(jù)庫或表。
  • ALTER:修改表結(jié)構(gòu)(如ALTER TABLE)。
  • INDEX:創(chuàng)建 / 刪除索引。
  • INSERT:插入數(shù)據(jù)到表。
  • DELETE:刪除表中數(shù)據(jù)。
  • UPDATE:更新表中數(shù)據(jù)。
  • SELECT:查詢表中數(shù)據(jù)。
  • REFERENCES:創(chuàng)建外鍵約束。
  • CREATE TEMPORARY TABLES:創(chuàng)建臨時(shí)表。
  • LOCK TABLES:鎖定表(用于事務(wù))。
  • EXECUTE:執(zhí)行存儲(chǔ)過程 / 函數(shù)。

三、表權(quán)限(作用于指定表)

表權(quán)限存儲(chǔ)在mysql.tables_priv表中,授權(quán)時(shí)用ON 數(shù)據(jù)庫名.表名指定:

  • SELECT/INSERT/UPDATE/DELETE(同數(shù)據(jù)庫權(quán)限,但僅作用于單表)。
  • ALTER:修改該表結(jié)構(gòu)。
  • INDEX:該表的索引操作。
  • CREATE VIEW:基于該表創(chuàng)建視圖。
  • SHOW VIEW:查看該表的視圖定義。
  • TRIGGER:創(chuàng)建 / 觸發(fā)該表的觸發(fā)器。

四、列權(quán)限(作用于表中指定列)

列權(quán)限存儲(chǔ)在mysql.columns_priv表中,授權(quán)時(shí)需指定列(如ON 庫.表 (列1,列2)):

  • 僅支持SELECT/INSERT/UPDATE(對(duì)指定列的操作權(quán)限)。

五、存儲(chǔ)對(duì)象權(quán)限(作用于存儲(chǔ)過程 / 函數(shù) / 視圖)

  • EXECUTE:執(zhí)行指定存儲(chǔ)過程 / 函數(shù)。
  • ALTER ROUTINE:修改 / 刪除指定存儲(chǔ)過程 / 函數(shù)。
  • CREATE ROUTINE:創(chuàng)建存儲(chǔ)過程 / 函數(shù)。
  • CREATE VIEW/SHOW VIEW:視圖的創(chuàng)建 / 查看權(quán)限

2.1給用戶權(quán)限

代碼:

GRANT ALTER ON *.* TO '用戶名'@'登錄位置';
grant all [privileges] on 庫.對(duì)象名 to '用戶名'@'登陸位置' [identified by '密碼']
grant 權(quán)限列表 on 庫.對(duì)象名 to '用戶名'@'登陸位置' [identified by '密碼']

第一條代碼的意思是授予一個(gè)用戶修改所有表的權(quán)限。

第二個(gè)給指定用戶授予 “指定庫 / 對(duì)象” 的全部操作權(quán)限。

第三條是給一個(gè)用戶關(guān)于某個(gè)庫的權(quán)限。

identified by是可選, 如果用戶存在,賦予權(quán)限的同時(shí)修改密碼,如果該用戶不存在,就是創(chuàng)建用戶。

2.2回收權(quán)限

我們可以給一個(gè)用戶權(quán)限,同時(shí)也可以回收用戶的權(quán)限。

代碼:

revoke 權(quán)限列表 on 庫.對(duì)象名 from '用戶名'@'登陸位置';

到此這篇關(guān)于SQL之用戶管理——權(quán)限與用戶的文章就介紹到這了,更多相關(guān)SQL用戶權(quán)限管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

阆中市| 西乌| 太仓市| 北海市| 彰武县| 南城县| 安岳县| 石城县| 和平县| 株洲市| 昭平县| 广水市| 平阳县| 托克逊县| 久治县| 南和县| 巴彦淖尔市| 芜湖市| 安福县| 朝阳市| 安化县| 巨野县| 包头市| 大安市| 和田县| 宁国市| 旬邑县| 招远市| 道孚县| 东丰县| 沂南县| 会宁县| 宁武县| 井冈山市| 环江| 兴城市| 陆川县| 博兴县| 石城县| 丰宁| 河西区|