關於資料庫登陸名和資料庫使用者名稱的一點點心得

2022-02-27 14:24:07 字數 1458 閱讀 1925

記得自己從開始編寫與sql資料庫相關的程式起,就一直採用sa登陸,也沒有聽人說過使用者名稱和登陸名之間有什麼關係,甚至都不知道這些東西,只知道sa許可權很大,可以執行資料庫中的所有東西,直至暑假,在看到某一專案在**關於資料庫登陸許可權保護時,自己才重視到了這一點。在網上查了很多資料,自己也總結了一些東西。

首先,要認清資料庫登陸名和資料庫使用者名稱之間的關係。資料庫登陸名和資料庫使用者名稱是有差別的,在乙個資料庫中是一一相對應的關係。如果把資料庫比作乙個大廈,那麼資料庫登入名就是進入大廈的通行證,而使用者名稱則是進入大廈房間的鑰匙,如果每個房間看做是sql資料庫(大廈)的乙個資料庫,那麼每個登陸名可以在每乙個資料庫中建立乙個使用者,如果沒有建立使用者,則登陸名就只能純粹的登陸資料庫,什麼事情都幹不了。下面就是插入資料庫登入名和使用者名稱的語句:

exec

sp_addlogin

'登入名',

'密碼'

,'選擇的資料庫

'exec

sp_adduser

'使用者名稱',

'登入名

'

然後,將光把登入名和使用者名稱新增進入資料庫還不行,還要對你新增的使用者名稱進行賦權,此時你的資料庫的使用者名稱才有用。如下**:資料表名稱指的是使用者能操作的資料庫的乙個**名稱,

grant

select

,update

,insert

on資料表名稱

to使用者名稱

這樣,乙個正確的使用者就建立好了,現在你可以用你的登陸名和使用者名稱運算元據庫中的資料了,當然,我還查到網上說的賦予登入名的使用者角色問題,如下**:

--

新增使用者

exec

sp_addlogin

'test'--

新增登入

exec

sp_grantdbaccess n

'test'--

使其成為當前資料庫的合法使用者

exec

sp_addrolemember n

'db_owner

', n

'test'--

授予對自己資料庫的所有許可權

--

檢視所有使用者

exec

sp_helpuser

--檢視某使用者的許可權

exec

sp_helprotect

@username='

使用者名稱'

--查詢某資料庫中的所有**

select

name

from

sysobjects

where

xtype='

u'--刪除使用者名稱和登陸名的儲存過程

exec

sp_droplogin

'登入名

'exec

sp_dropuser

'使用者名稱

'

postgresql資料庫使用者名稱密碼驗證失敗

問題分析 1 檢查環境變數中是否指定了相關引數,比如 export pguser highgo export pgdatabase highgo export pghost localhost export pgport 5866 export pgpassword 1234512 345 2 pg...

mongoDB資料庫設定使用者名稱及密碼

mongodb資料庫在預設是沒有使用者名稱及密碼,不用安全驗證的,只要連線上服務就可以進行crud操作。第一部 開啟安全性驗證 如果需要給mongodb資料庫使用安全驗證,則需要用 auth開啟安全性檢查,則只有資料庫認證的使用者才能執行讀寫操作,開戶安全性檢查,有兩種方式 第一種 重新建立wind...

Openstack各模組資料庫使用者名稱密碼查詢

openstack各模組資料庫使用者名稱密碼查詢 適用於kolla部署的openstack 1.docker ps grep neutron 2.docker exec it neutron server bin bash docker exec it c91619f92404 bin bash 注...