MySQL安全管理

數據庫服務器一般包含關鍵的數據,確保這些數據的安全和完整須要利用訪問控制。html

1、訪問控制

MySQL服務器的安全基礎:用戶應該對他們須要的數據具備適當的訪問權,既不能多也不能少。mysql

訪問控制:你須要給用戶提供他們所需的訪問權,且僅提供他們所需的訪問權。sql

在平常工做中,毫不能使用root,應該建立一系列的帳號,有的用於管理,有的供用戶使用,有的供開發人員使用等等。數據庫

防止無心的錯誤:訪問控制的目的不單單是防止用戶的惡意企圖。數據夢魘更爲常見的事無心識錯誤的結果,如錯打MySQL語句,在不適合的數據庫中操做或其餘一些用戶錯誤。經過保證用戶不能執行他們不該該執行的語句,訪問控制有助於避免這些狀況的發生。安全

2、管理用戶

MySQL用戶帳號和信息存儲在名爲mysql的MySQL數據庫中。通常不須要直接訪問mysql數據庫和表,但有時須要直接訪問。須要直接訪問他的時機之一是在須要得到全部用戶帳號列表時。服務器

 USE mysql;
SELECT user,host FROM user;

1.建立用戶帳號

CREATE USER username IDENTIFIED BY 'password';函數

爲用戶帳號重命名:RENAME USER username TO otherusername;加密

2.刪除用戶帳號

DROP USER username;code

3.設置訪問權限

在建立用戶帳號後,必須接着分配訪問權限。新建立的用戶帳號沒有訪問權限。它們能登陸MySQL,但不能看到數據,不能執行任何數據庫操做。htm

查看賦予用戶帳號的權限:

SHOW GRANTS FOR username;

+————————————————————-+

| Grants for username@% |

+——————————————————— —+

| GRANT USAGE ON . TO 'username'@'%' |

+————————————————————-+

爲設置權限,使用GRANT語句。GRANT要求你至少給出如下信息:

  • 要授予的權限;

  • 被授予訪問權限的數據庫或表;

  • 用戶名。

Example:

GRANT SELECT ON database.* TO username;

分析:此GRANT容許用戶在database數據庫的全部表(databasename.)上使用SELECT。用戶username對database數據庫中的全部數據具備只讀訪問權限。

GRANT的反操做爲REVOKE,用它來撤銷特定的權限。

REVOKE SELECT ON database. FROM username;

撤銷用戶username的SELECT訪問權限。被撤銷的訪問權限必須存在,不然會出錯。

Mysql User表權限字段說明全介紹

4.更改口令

SET PASSWORD FOR user = Password('passworded');

Password()函數進行加密。

在不指定用戶名時,SET PASSWORD更新當前登陸用戶的口令。

能夠借鑑那啥快看MySql(五):MySQL數據庫安全管理

相關文章
相關標籤/搜索