MySQL基礎(十五) 使用者許可權

2021-10-04 06:35:37 字數 3361 閱讀 4731

許可權管理

我們經常遇到使用者許可權的一些問題,如「你無權建立檔案」等等。類似地,在資料庫中每個使用者都有一定的許可權,例如使用者a只能檢視a資料庫,使用者b1只能檢視b資料庫的b1表等…

…\dots\dots

……

show

databases

;-- 檢視所有資料庫

use mysql;

-- 使用mysql資料庫

show

tables

;-- 展示當前資料庫下的表

;-- 描述user表結構

-- 檢視user表的詳細資訊,並以列的形式展示

;檢視使用者名稱、埠號和密碼

;-- 檢視當前使用者

使用者@ip位址 identified by

'《密碼》'

;-- 建立使用者,%表示所有埠

update

user

set authentication_string = password(

'《密碼》'

)where

user

='《使用者名稱》'

;flush privileges

;-- 許可權重新整理,密碼修改後沒有馬上執行就重新整理下

update

user

set authentication_string=

''where

user

='《使用者名稱》'

;-- 清空已有密碼

alter

user

使用者@主機地 identified by

'《密碼》'

;-- 建立新的密碼,推薦

set password for

使用者@主機地

='《密碼》'

-- 另一種建立密碼的方式

mysql8.0後請使用alter修改使用者密碼,

因為在mysql8.0以後的加密方式為caching_sha2_password,

如果使用update修改密碼會給user表中root使用者的authentication_string欄位下設定newpassowrd值,

當再使用alter user 『root』@『localhost』 identified by 'newpassword』修改密碼時會一直報錯,必須清空後再修改,

因為authentication_string欄位下只能是mysql加密後的43位字串密碼,

其他的會報格式錯誤,

所以在mysql8.0以後能修改密碼的方法只能是:alter user 『root』@『localhost』 identified with mysql_native_password by 『你的密碼』;

drop

user

使用者@主機地

;-- 刪除使用者

use mysql;

-- 使用mysql資料庫

desc

user

;-- 檢視資料庫的所有許可權

-- 檢視當前使用者的表許可權

-- 檢視當前賬戶的許可權

使用者@主機地

;-- 檢視指定賬戶的許可權,usage標識無許可權,本地位址無需新增@字段

權on資料

.資料to使用者@主機地

;

grant

allon*.

*to使用者@主機地

;-- 授予使用者所有資料庫的所有許可權

grant

select

(last_name)

on sakila.actor to

@192.168.0.1

;-- 只能檢視sakila資料庫中actor表的last_name欄位

修改使用者的相關許可權一般都是全部刪除之後再重新授予

revoke

allon*.

*from

使用者@主機地

;-- 收回使用者所有許可權(許可權修改後會疊加,因此賦予新許可權時最好清空原有許可權後再賦予)

mysql配置使用者許可權 mysql使用者許可權配置

mysql使用者許可權配置 有什麼不對的地方請各位大神多多指教!1,檢視使用者表 mysql select user,password,host from mysql.user user 使用者名稱 password 密碼 加密 host 連線ip 2,開放遠端連線 vim etc mysql ma...

mysql使用者許可權時間 Mysql使用者許可權管理

1.檢視mysql使用者 select user,host,authentication string from mysql.user user host authentication string root localhost root b7d0cf7b6e2f root 127.0.0.1 ro...

mysql使用者和許可權 MySQL使用者及許可權知識梳理

一 賬號使用者賬號mysql使用者賬號組成 user host user 使用者名稱。mysql create user user host identified by pwd 使用者重新命名 mysql rename user old username to new username 刪除使用者 ...