MySQL基礎之安全管理

2022-07-30 06:12:09 字數 2482 閱讀 9586

mysql使用者賬號和資訊儲存在名為mysql的mysql資料庫中。一般不需要直接訪問mysql資料庫和表, 但有時需要直接訪問。需要直接訪問它的時機之一是在需要獲得所有使用者賬號列表時。為此, 可以使用如下**

use

mysql;

select

user

from

user;

mysql資料庫中有乙個名為user的表, 它包含所有使用者賬號。user表有乙個名為user的列, 它儲存使用者登入名。

為了建立乙個新使用者賬號, 使用create user語句, 如下所示:

create

user ben identified by

'p@$$w0rd

';

create user建立使用者賬號, 在建立使用者賬號時不一定需要口令, 不過這個例子使用identified by 'p@$$w0rd'給出乙個口令

identified by指定的口令為純文字, mysql將儲存在user表之前對其進行加密。為了作為雜湊值指定口令, 使用identified by password

為重命名乙個使用者賬號, 使用rename user語句

rename user ben to bforta;
為了刪除乙個使用者賬號(以及相關的許可權), 使用drop user語句

drop

user bforta;

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

為了看到賦予使用者賬號的許可權, 使用show grants for, 

mariadb [(none)]> show grants for bforta;

+------------------------------------+

| grants for bforta@% |

+------------------------------------+

| grant usage on *.* to 'bforta'@'%' |

+------------------------------------+

1 row in set (0.001 sec)

mariadb [(none)]>

輸出顯示使用者bforta有乙個許可權usage on *.*。usage表示根本沒有許可權。

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

mariadb [

(none)

]>

grant

select

on crashcourse.*

tobforta;

query ok,

0 rows affected (0.004

sec)

mariadb

[(none)

]>

此grant允許使用者在crashcourse.*(crashcourse資料庫的所有表)上使用select。

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

mariadb [

(none)

]>

revoke

select

on crashcourse.*

from

bforta;

query ok,

0 rows affected (0.001

sec)

mariadb

[(none)

]>

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

可以授予和撤銷的許可權如下

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

mariadb [

(none)

]>

set password for bforta = password('

n3w p@$$w0rd');

query ok,

0 rows affected (0.003

sec)

mariadb

[(none)

]>

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

mariadb [

(none)

]>

set password = password('

n3w p@$$w0rd');

query ok,

0 rows affected (0.003

sec)

mariadb

[(none)

]>

mysql安全管理 MySQL安全管理

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

mysql安全管理 MySQL 安全管理

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

mysql管理之安全機制

mysql.user表 非常重要 一 使用者字段 二 許可權字段 三 安全字段 四 資源控制字段 mysql.db mysql.hsot 使用者字段 許可權字段 mysql.tables priv mysql.columms priv procs priv 登入和退出mysql 例項 mysql h...