最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql 安全管理詳情

 更新時間:2021年10月25日 12:10:18   作者:敖毛  
這篇文章主要介紹了mysql 安全管理,MySQL服務器的安全基礎是用戶應該對他們需要的數(shù)據(jù)具有適當?shù)脑L問權,既不能多也不能少,換句話說,用戶不能對過多的數(shù)據(jù)具有過多的訪問權,下面?zhèn)z看看文章詳細內(nèi)容吧

1、就按單介紹

MySQL服務器的安全基礎是:用戶應該對他們需要的數(shù)據(jù)具有適當?shù)脑L問權,既不能多也不能少。

換句話說,用戶不能對過多的數(shù)據(jù)具有過多的訪問權。

  • 多數(shù)用戶只需要對表進行讀和寫,但少數(shù)用戶甚至需要能創(chuàng)建和刪除表;
  • 某些用戶需要讀表,但可能不需要更新表;
  • 你可能想允許用戶添加數(shù)據(jù),但不允許他們刪除數(shù)據(jù);
  • 某些用戶(管理員)可能需要處理用戶賬號的權限,但多數(shù)用戶不需要;
  • 你可能想讓用戶通過存儲過程訪問數(shù)據(jù),但不允許他們直接訪問數(shù)據(jù);
  • 你可能想根據(jù)用戶登錄的地點限制對某些功能的訪問。

這些都只是例子,但有助于說明一個重要的事實,即你需要給用戶提供他們所需的訪問權,且僅提供他們所需的訪問權。

這就是所謂的訪問控制,管理訪問控制需要創(chuàng)建和管理用戶賬號。

防止無意的錯誤 重要的是注意到,訪問控制的目的不僅僅是防止用戶的惡意企圖。

數(shù)據(jù)夢魘更為常見的是無意識錯誤的結果,如錯打MySQL語句,在不合適的數(shù)據(jù)庫中操作或其他一些用戶錯誤。

通過保證用戶不能執(zhí)行他們不應該執(zhí)行的語句,訪問控制有助于避免這些情況的發(fā)生
不要使用root 應該嚴肅對待root登錄的使用。僅在絕對需要時使用它(或許在你不能登錄其他管理賬號時使用)。

不應該在日常的MySQL操作中使用root。
MySQL用戶賬號和信息存儲在名為mysql的MySQL數(shù)據(jù)庫中。一般不需要直接訪問mysql數(shù)據(jù)庫和表(你稍后會明白這一點),但有時需要直接訪問。需要直接訪問它的時機之一是在需要獲得所有用戶賬號列表
時。

為此,可使用以下代碼:

use mysql;
SELECT USER FROM user;

mysql數(shù)據(jù)庫有一個名為user的表,它包含所有用戶賬號。

user表有一個名為user的列,它存儲用戶登錄名。新安裝的服務器可能只有一個用戶(如這里所示),過去建立的服務器可能具有很多用戶.

用多個客戶機進行試驗 試驗對用戶賬號和權限進行更改的最好辦法是打開多個數(shù)據(jù)庫客戶機(如mysql命令行實用程序的多個副本),一個作為管理登錄,其他作為被測試的用戶登錄。

2、創(chuàng)建用戶

CREATE USER ben IDENTIFIED by 'ben123456';


這樣就創(chuàng)建了一個用戶。

指定散列口令 IDENTIFIED BY指定的口令為純文本,MySQL
將在保存到user表之前對其進行加密。為了作為散列值指定口
令,使用IDENTIFIED BY PASSWORD。
使用GRANTINSERT GRANT語句(稍后介紹)也可以創(chuàng)建用戶賬號,但一般來說CREATE USER是最清楚和最簡單的句子。此外,也可以通過直接插入行到user表來增加用戶,不過為安全起見,一般不建議這樣做。

MySQL用來存儲用戶賬號信息的表(以及表模式等)極為重要,對它們的任何毀壞都可能嚴重地傷害到MySQL服務器。因此,相對于直接處理來說,最好是用標記和函數(shù)來處理這些表

為重新命名一個用戶賬號,使用RENAME USER語句,如下所示:

RENAME USER ben to zhangsan;


MySQL 5之前 僅MySQL 5或之后的版本支持RENAME USER。為了在以前的MySQL中重命名一個用戶,可使用UPDATE直接更新user表。

3、刪除用戶賬號

DROP USER zhangsan;


注意:

MySQL 5之前 自MySQL 5以來,DROP USER刪除用戶賬號和所有相關的賬號權限。在MySQL 5以前,DROP USER只能用來
刪除用戶賬號,不能刪除相關的權限。因此,如果使用舊版本的MySQL,需要先用REVOKE刪除與賬號相關的權限,然后
再用DROP USER刪除賬號。

4、訪問權限

在創(chuàng)建用戶賬號后,必須接著分配訪問權限。新創(chuàng)建的用戶賬號沒有訪問權限。它們能登錄MySQL,但不能看到數(shù)據(jù),不能執(zhí)行任何數(shù)據(jù)庫操作。

CREATE USER zhangsan IDENTIFIED by 'zhang123456';


為看到賦予用戶賬號的權限,使用SHOW GRANTS FOR如下所示:

SHOW GRANTS FOR 'zhangsan';


結果:

GRANT USAGE ON *.* TO 'zhangsan'@'%' IDENTIFIED BY PASSWORD '*557661E2A88A816A3155408E5D15997A8C5C7D25'


顯示沒有任何權限。

USAGE表 示根本沒有權限(我知道,這不很直觀),所以,此結果表示在任意數(shù)據(jù)庫和任意表上對任何東西沒有權限。

用戶定義為user@host MySQL的權限用用戶名和主機名結合定義。如果不指定主機名,則使用默認的主機名%(授予用戶訪問權限而不管主機名)

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

  • 要授予的權限;
  • 被授予訪問權限的數(shù)據(jù)庫或表;
  • 用戶名。

以下例子給出GRANT的用法:

GRANT SELECT ON test.* to zhangsan;


然后:

SHOW GRANTS FOR zhangsan;
GRANT SELECT ON `test`.* TO 'zhangsan'@'%'


每個GRANT添加(或更新)用戶的一個權限。MySQL讀取所有授權,并根據(jù)它們確定權限。

GRANT的反操作為REVOKE,用它來撤銷特定的權限。下面舉一個例子:

REVOKE SELECT ON test.* FROM zhangsan;


這條REVOKE語句取消剛賦予用戶bforta的SELECT訪問權限。被撤銷的訪問權限必須存在,否則會出錯。

GRANT和REVOKE可在幾個層次上控制訪問權限:

  • 整個服務器,使用GRANT ALL和REVOKE ALL;
  • 整個數(shù)據(jù)庫,使用ON database.*;
  • 特定的表,使用ON database.table;
  • 特定的列;
  • 特定的存儲過程。

示例:

ALL 除GRANT OPTION外的所有權限
ALTER 使用ALTER TABLE
ALTER ROUTINE 使用ALTER PROCEDURE和DROP PROCEDURE
CREATE 使用CREATE TABLE
CREATE ROUTINE 使用CREATE PROCEDURE
CREATE TEMPORARY 
TABLES
使用CREATE TEMPORARY TABLE
CREATE USER 使用CREATE USER、DROP USER、RENAME USER和REVOKE
ALL PRIVILEGES
CREATE VIEW 使用CREATE VIEW
DELETE 使用DELETE
DROP 使用DROP TABLE
EXECUTE 使用CALL和存儲過程
FILE 使用SELECT INTO OUTFILE和LOAD DATA INFILE
GRANT OPTION 使用GRANT和REVOKE
INDEX 使用CREATE INDEX和DROP INDEX
INSERT 使用INSERT
LOCK TABLES 使用LOCK TABLES
PROCESS 使用SHOW FULL PROCESSLIST
RELOAD 使用FLUSH
REPLICATION CLIENT 服務器位置的訪問
REPLICATION SLAVE 由復制從屬使用
SELECT 使用SELECT
SHOW DATABASES 使用SHOW DATABASES
SHOW VIEW 使用SHOW CREATE VIEW
SHUTDOWN 使用mysqladmin shutdown(用來關閉MySQL)
SUPER 使用CHANGE MASTER、KILL、LOGS、PURGE、MASTER
和SET GLOBAL。還允許mysqladmin調(diào)試登錄
UPDATE 使用UPDATE
USAGE 無訪問權限


使用GRANTREVOKE,你能對用戶可以
就你的寶貴數(shù)據(jù)做什么事情和不能做什么事情具有完全的控制。

未來的授權 在使用GRANT和REVOKE時,用戶賬號必須存在,但對所涉及的對象沒有這個要求。

這允許管理員在創(chuàng)建數(shù)據(jù)庫和表之前設計和實現(xiàn)安全措施。

這樣做的副作用是,當某個數(shù)據(jù)庫或表被刪除時(用DROP語句),相關的訪問權限仍然存在。而且,如果將來重新創(chuàng)建該數(shù)據(jù)庫或表,這些權限仍然起作用。

簡化多次授權 可通過列出各權限并用逗號分隔,將多條GRANT語句串在一起,如下所示:

GRANT SELECT, INSERT ON test.* to zhangsan;

5、更改口令

為了更改用戶口令,可使用SET PASSWORD語句。新口令必須如下加密:

SET PASSWORD FOR zhangsan = PASSWORD('zhangsan');

修改當前用戶的口令:

SET PASSWORD  = PASSWORD('root');

到此這篇關于mysql 安全管理詳情的文章就介紹到這了,更多相關mysql 安全管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL+Canal同步ES延時問題分析及解決過程

    MySQL+Canal同步ES延時問題分析及解決過程

    文章探討了MySQL-Canal-ES架構在異構數(shù)據(jù)場景中的應用,分析了數(shù)據(jù)同步延時問題的根源(如MySQL binlog生成滯后、Canal單線程處理、ES索引寫入瓶頸),并提出全鏈路優(yōu)化方案,包括日志配置調(diào)整、并行解析、批量寫入及監(jiān)控機制,最終實現(xiàn)高效、低延遲的數(shù)據(jù)處理與查詢
    2025-09-09
  • mysql grants小記

    mysql grants小記

    grant命令是對mysql數(shù)據(jù)庫進行用戶創(chuàng)建,權限或其他參數(shù)控制的強大的命令,官網(wǎng)上介紹它就有幾大頁,要用精它恐怕不是一日半早的事情,權宜根據(jù)心得慢慢領會吧!
    2011-05-05
  • mysql 精簡過程(刪除一些文件)

    mysql 精簡過程(刪除一些文件)

    這篇文章主要是介紹了mysql的精簡方法,因為默認安裝的時候有一些文件一般用不到,這里只是為了經(jīng)常一些組合工具,服務器使用不建議精簡
    2013-06-06
  • MySQL筆記之修改數(shù)據(jù)的解決方法

    MySQL筆記之修改數(shù)據(jù)的解決方法

    本篇文章介紹了,在mysql中修改數(shù)據(jù)的解決方法。需要的朋友參考下
    2013-05-05
  • MySQL中出現(xiàn)lock?wait?timeout?exceeded問題及解決

    MySQL中出現(xiàn)lock?wait?timeout?exceeded問題及解決

    這篇文章主要介紹了MySQL中出現(xiàn)lock?wait?timeout?exceeded問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • master and slave have equal MySQL server UUIDs 解決方法

    master and slave have equal MySQL server UUIDs 解決方法

    使用rsync配置了大量mysql,省去了大量編譯和配置的時間,隨逐個修改master和slave服務器的my.cnf,后,發(fā)現(xiàn)數(shù)據(jù)不能同步
    2013-07-07
  • MySQL中substr()函數(shù)的使用示例

    MySQL中substr()函數(shù)的使用示例

    mysql?substr函數(shù)是用來截取數(shù)據(jù)庫某一列字段中的一部分,本文主要介紹了MySQL中substr()函數(shù)的使用示例,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • mysql代碼執(zhí)行結構實例分析【順序、分支、循環(huán)結構】

    mysql代碼執(zhí)行結構實例分析【順序、分支、循環(huán)結構】

    這篇文章主要介紹了mysql代碼執(zhí)行結構,結合實例形式分析了mysql順序結構、分支結構與循環(huán)結構相關原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • MySQL數(shù)據(jù)庫?觸發(fā)器?trigger

    MySQL數(shù)據(jù)庫?觸發(fā)器?trigger

    這篇文章主要介紹了MySQL數(shù)據(jù)庫?觸發(fā)器?trigger,觸發(fā)器是一種特殊類型的存儲過程,觸發(fā)器通過事件進行觸發(fā)而被執(zhí)行,可通過數(shù)據(jù)庫中的相關表實現(xiàn)級聯(lián)更改,保證數(shù)據(jù)安全,進行安全校驗
    2022-06-06
  • mysql8.0.20配合binlog2sql的配置和簡單備份恢復的步驟詳解

    mysql8.0.20配合binlog2sql的配置和簡單備份恢復的步驟詳解

    這篇文章主要介紹了mysql8.0.20配合binlog2sql的配置和簡單備份恢復的步驟,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09

最新評論

夹江县| 乌恰县| 五大连池市| 手游| 长垣县| 隆昌县| 耒阳市| 肥城市| 鄂州市| 新密市| 平泉县| 崇仁县| 宜丰县| 视频| 鄂托克前旗| 临澧县| 南宫市| 苏尼特左旗| 贵溪市| 昆明市| 磐安县| 南平市| 岑巩县| 无极县| 大邑县| 兰州市| 尖扎县| 丘北县| 阳朔县| 古交市| 绥中县| 得荣县| 德令哈市| 枣庄市| 岫岩| 临邑县| 海丰县| 惠州市| 黄山市| 大石桥市| 和硕县|