91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫的權限管理

發布時間:2020-06-01 21:46:08 來源:億速云 閱讀:340 作者:鴿子 欄目:MySQL數據庫

Mysql權限系統非常重要,但同時又是一個很多開發者或管理者所忽略的。權限分配不但,將會造成難以挽回的悲慘后果。我之前所在一家公司,關于數據庫權限這塊就完全不重視,所有開發者都有線上系統的最高權限。想想看,如果哪天有其中一個人刪庫了,那么多人你知道是誰弄的嗎?所以,大家一定要引起重視。

一般建議最高權限只會給一個人,這個人做為管理者,再去分配其他開發者對應權限。開發階段本地的庫還好些,對于線上的庫,給予權限時要慎重。

權限認證的原理

MySQL的權限認證是通過兩個方面來認證的。首先會進行用戶的ip、用戶名及密碼校驗,校驗通過的用戶,才能連接上Mysql。當連上后,用戶進行任何操作時,Mysql都會對其所擁有的權限進行校驗,擁有該權限,才會執行用戶請求的操作。否則,不執行。

Mysql權限分類

MySQL的權限大致分為三類:

  • 對數據的操作,比如增刪改查。

  • 結構的操作,比如創建庫,修改表結構等。

  • 管理方面的權限,比如創建用戶、分配權限等。

Mysql權限分配原則

  • 給予最小權限,比如目前該用戶只需要看的權限且只需要看一個表時,那就不要去分配所有表的讀權限。只限制為一個表的權限,不要怕麻煩就給予所有表的讀權限。

  • 創建用戶時一定要限制ip及設定足夠強度的密碼。

  • 定期清理不需要的用戶,及回收那些不需要的權限。

賬號管理

創建賬號

mysql文檔里創建用戶的語法如下:

CREATE USER [IF NOT EXISTS]
    user [auth_option] [, user [auth_option]] ...
    [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]
    [WITH resource_option [resource_option] ...]
    [password_option | lock_option] ...

參數有點多,別急,慢慢來通過例子來看。首先用最少的選項創建一個賬號。

# 創建一個無需密碼即可本地登錄的用戶
mysql> CREATE USER 'u1'@'localhost';
Query OK, 0 rows affected

# 創建一個需要密碼授權的用戶,但不限制ip
mysql> CREATE USER 'u2'@'%' identified by '321232';
# 注意,密碼必須使用引號,單引號或雙引號都行,但不加就出錯。

# 如果不想使用明文的密碼,可以使用password
mysql> select password('111111');
+-------------------------------------------+
| password('111111')                        |
+-------------------------------------------+
| *FD571203974BA9AFE270FE62151AE967ECA5E0AA |
+-------------------------------------------+
1 row in set
mysql> CREATE USER 'u3'@'192.168.1.%' IDENTIFIED BY PASSWORD '*FD571203974BA9AFE270FE62151AE967ECA5E0AA';
Query OK, 0 rows affected

查看用戶列表

系統用戶列表是存放是mysql庫里的user表。

mysql> SELECT user,host,account_locked FROM mysql.user;
+---------------+-------------+----------------+
| user          | host        | account_locked |
+---------------+-------------+----------------+
| root          | localhost   | N              |
| mysql.session | localhost   | Y              |
| mysql.sys     | localhost   | Y              |
| u1            | localhost   | N              |
| u2            | %           | N              |
| u2            | localhost   | N              |
| u3            | 192.168.1.% | N              |
+---------------+-------------+----------------+
7 rows in set

刪除用戶

刪除用戶的語法如下:

DROP USER 用戶名@ip;

現在我們來刪除u2@'%'

mysql> drop user u2@'%';
Query OK, 0 rows affected

這樣u2用戶就被刪除了。

修改用戶賬號

語法如下:

rename user old@'oldip' to new@'newip';

案例如下:

mysql> RENAME USER u1@localhost to user1@'127.0.0.1';
Query OK, 0 rows affected

授權

學完了如何創建賬號及管理賬號后,我們來看看如何給用戶授權以及如何回收不需要的權限。

用戶授權

給用戶授權語法如下:

GRANT 權限 ON 數據庫名*表名 TO 用戶名@ip;

案例如下:

mysql> GRANT SELECT ON *.* TO 'u1'@'localhost' ; 
Query OK, 0 rows affected (0.00 sec) 
-- 全局級別授權   
mysql> GRANT ALL ON test.* TO 'u2'@'localhost'; 
Query OK, 0 rows affected (0.00 sec) 
-- 數據庫級別授權   
mysql> GRANT ALL ON test.student TO 'u3'@'localhost' WITH GRANT OPTION; 
-- 表級別授權

查看用戶的權限

給用戶授權后,我們來查看用戶是否已經獲得到了這些權限。

回收用戶權限

當發現給與的權限多了,那么就應該及時回收這些權限。回收權限的語法和授權的語法非常像。

REVOKE 權限 ON 數據庫*表 FROM 用戶名@ip地址

以上就是MySQL權限及安全管理的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大关县| 淮安市| 苍山县| 永新县| 沁阳市| 巴塘县| 宜良县| 南充市| 定西市| 东乡县| 浙江省| 永仁县| 牙克石市| 二连浩特市| 比如县| 江源县| 慈利县| 昌平区| 伊川县| 德钦县| 嘉义市| 陇西县| 泾阳县| 开鲁县| 义马市| 武城县| 南平市| 许昌市| 虹口区| 台安县| 通辽市| 晋中市| 景谷| 中方县| 奉化市| 静乐县| 银川市| 合作市| 荆州市| 察隅县| 侯马市|