mysql登入安全管理 MySQL安全管理

2021-10-22 09:35:04 字數 1471 閱讀 3630

建立使用者帳號

create user ben identified by '123456';

建立後,mysql資料庫中的user表就新增了一條記錄,如下所示:

重新命名使用者帳號

如果想要改變帳號的名字,可以通過下面的命令來達到效果:(使用root許可權來修改)

rename user ben to bforta;

刪除使用者賬戶

drop user bforta;

設定訪問許可權

在建立使用者賬戶後,必須接著分配訪問許可權。新建立的使用者帳號沒有訪問許可權。它們能登入mysql,但不能看到資料,不能執行任何資料庫操作。

為了賦予使用者帳號的許可權,使用 show grants for ,如下所示:

show grants for bforta;

輸出的結果如下所示:

分析:輸出結果顯示使用者bforta有乙個許可權usage on ".*".usage表示根本沒有許可權,所以,此結果表示在任意資料庫和任意表上對任何東西沒有許可權。

ps:使用者定義為user@host mysql的許可權用使用者名稱和主機名結合定義。如果不指定主機名,則使用預設的主機名%(授予使用者許可權而不管主機名)。

為了設定許可權,使用grant語句。grant要求你至少給出以下的資訊:

要授予的許可權;

被授予訪問許可權的資料庫和表

使用者名稱。

以下例子給出grant的用法:

grant select on crashcourse.* to bforta;

此grant允許使用者在carshcourse.*(carshcourse資料庫中的所有表)上使用select。通過只授權select反問許可權,使用者bforta對carshcourse資料中的所有資料具有唯讀反問許可權。

撤銷許可權

與grant的反操作為revoke,用它來撤銷特定的許可權。

revoke select on carshcourse.* from bforat;

這條revoke語句取消剛賦予使用者bforta的select許可權。被撤銷的訪問許可權必須存在,否則會出錯。

grant和revoke可在幾個層次上控制訪問許可權。

整個伺服器,使用grant all和revoke all;

整個資料庫,使用on database.*;

特定的表,使用on database.table;

特定的列;

特定的儲存過程

對於每個許可權的寫法可以參考《mysql必知必會》28章。

更改口令

為了更改使用者口令,可使用set password語句。新口令必須如下加密:

set password for bforta = password('new 123456');

set password更新使用者口令,新口令必須專遞到password()函式進行加密。

set password還可以用來設定你自己的口令:

set password = pasword('new password');

mysql登入安全管理 MySQL 安全管理

1.使用者管理 mysql將帳戶儲存在系統資料庫mysql的user表,mysql使用者名稱最長可達32個字元 檢視所有使用者 select user,host,authentication string from user 檢視當前使用者的許可權 show grants 檢視gg使用者許可權 sh...

mysql登入安全管理 MySQL安全管理教程

mysql伺服器的安全基礎是 使用者應該對他們需要的資料具有適當 的訪問權,既不能多也不能少。換句話說,使用者不能對過多的資料具有 過多的訪問權。考慮以下內容 1.多數使用者只需要對錶進行讀和寫,但少數使用者甚至需要能建立和 刪除表 2.某些使用者需要讀表,但可能不需要更新表 3.你可能想允許使用者...

mysql安全管理 MySQL安全管理

資料庫伺服器通常包含關鍵的資料,確保這些資料的安全和完整需要利用訪問控制。一 訪問控制 mysql伺服器的安全基礎 使用者應該對他們需要的資料具有適當的訪問權,既不能多也不能少。訪問控制 你需要給使用者提供他們所需的訪問權,且僅提供他們所需的訪問權。在日常工作中,絕不能使用root,應該建立一系列的...