欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql 安全管理詳情

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

1、就按單介紹

MySQL服務(wù)器的安全基礎(chǔ)是:用戶應(yīng)該對(duì)他們需要的數(shù)據(jù)具有適當(dāng)?shù)脑L問(wèn)權(quán),既不能多也不能少。

換句話說(shuō),用戶不能對(duì)過(guò)多的數(shù)據(jù)具有過(guò)多的訪問(wèn)權(quán)。

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

這些都只是例子,但有助于說(shuō)明一個(gè)重要的事實(shí),即你需要給用戶提供他們所需的訪問(wèn)權(quán),且僅提供他們所需的訪問(wèn)權(quán)。

這就是所謂的訪問(wèn)控制,管理訪問(wèn)控制需要?jiǎng)?chuàng)建和管理用戶賬號(hào)。

防止無(wú)意的錯(cuò)誤 重要的是注意到,訪問(wèn)控制的目的不僅僅是防止用戶的惡意企圖。

數(shù)據(jù)夢(mèng)魘更為常見(jiàn)的是無(wú)意識(shí)錯(cuò)誤的結(jié)果,如錯(cuò)打MySQL語(yǔ)句,在不合適的數(shù)據(jù)庫(kù)中操作或其他一些用戶錯(cuò)誤。

通過(guò)保證用戶不能執(zhí)行他們不應(yīng)該執(zhí)行的語(yǔ)句,訪問(wèn)控制有助于避免這些情況的發(fā)生
不要使用root 應(yīng)該嚴(yán)肅對(duì)待root登錄的使用。僅在絕對(duì)需要時(shí)使用它(或許在你不能登錄其他管理賬號(hào)時(shí)使用)。

不應(yīng)該在日常的MySQL操作中使用root。
MySQL用戶賬號(hào)和信息存儲(chǔ)在名為mysql的MySQL數(shù)據(jù)庫(kù)中。一般不需要直接訪問(wèn)mysql數(shù)據(jù)庫(kù)和表(你稍后會(huì)明白這一點(diǎn)),但有時(shí)需要直接訪問(wèn)。需要直接訪問(wèn)它的時(shí)機(jī)之一是在需要獲得所有用戶賬號(hào)列表
時(shí)。

為此,可使用以下代碼:

use mysql;
SELECT USER FROM user;

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

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

用多個(gè)客戶機(jī)進(jìn)行試驗(yàn) 試驗(yàn)對(duì)用戶賬號(hào)和權(quán)限進(jìn)行更改的最好辦法是打開(kāi)多個(gè)數(shù)據(jù)庫(kù)客戶機(jī)(如mysql命令行實(shí)用程序的多個(gè)副本),一個(gè)作為管理登錄,其他作為被測(cè)試的用戶登錄。

2、創(chuàng)建用戶

CREATE USER ben IDENTIFIED by 'ben123456';


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

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

MySQL用來(lái)存儲(chǔ)用戶賬號(hào)信息的表(以及表模式等)極為重要,對(duì)它們的任何毀壞都可能嚴(yán)重地傷害到MySQL服務(wù)器。因此,相對(duì)于直接處理來(lái)說(shuō),最好是用標(biāo)記和函數(shù)來(lái)處理這些表

為重新命名一個(gè)用戶賬號(hào),使用RENAME USER語(yǔ)句,如下所示:

RENAME USER ben to zhangsan;


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

3、刪除用戶賬號(hào)

DROP USER zhangsan;


注意:

MySQL 5之前 自MySQL 5以來(lái),DROP USER刪除用戶賬號(hào)和所有相關(guān)的賬號(hào)權(quán)限。在MySQL 5以前,DROP USER只能用來(lái)
刪除用戶賬號(hào),不能刪除相關(guān)的權(quán)限。因此,如果使用舊版本的MySQL,需要先用REVOKE刪除與賬號(hào)相關(guān)的權(quán)限,然后
再用DROP USER刪除賬號(hào)。

4、訪問(wèn)權(quán)限

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

CREATE USER zhangsan IDENTIFIED by 'zhang123456';


為看到賦予用戶賬號(hào)的權(quán)限,使用SHOW GRANTS FOR,如下所示:

SHOW GRANTS FOR 'zhangsan';


結(jié)果:

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


顯示沒(méi)有任何權(quán)限。

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

用戶定義為user@host MySQL的權(quán)限用用戶名和主機(jī)名結(jié)合定義。如果不指定主機(jī)名,則使用默認(rèn)的主機(jī)名%(授予用戶訪問(wèn)權(quán)限而不管主機(jī)名)

為設(shè)置權(quán)限,使用GRANT語(yǔ)句。GRANT要求你至少給出以下信息:

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

以下例子給出GRANT的用法:

GRANT SELECT ON test.* to zhangsan;


然后:

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


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

GRANT的反操作為REVOKE,用它來(lái)撤銷特定的權(quán)限。下面舉一個(gè)例子:

REVOKE SELECT ON test.* FROM zhangsan;


這條REVOKE語(yǔ)句取消剛賦予用戶bforta的SELECT訪問(wèn)權(quán)限。被撤銷的訪問(wèn)權(quán)限必須存在,否則會(huì)出錯(cuò)。

GRANT和REVOKE可在幾個(gè)層次上控制訪問(wèn)權(quán)限:

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

示例:

ALL 除GRANT OPTION外的所有權(quán)限
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和存儲(chǔ)過(guò)程
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 服務(wù)器位置的訪問(wèn)
REPLICATION SLAVE 由復(fù)制從屬使用
SELECT 使用SELECT
SHOW DATABASES 使用SHOW DATABASES
SHOW VIEW 使用SHOW CREATE VIEW
SHUTDOWN 使用mysqladmin shutdown(用來(lái)關(guān)閉MySQL)
SUPER 使用CHANGE MASTER、KILL、LOGS、PURGE、MASTER
和SET GLOBAL。還允許mysqladmin調(diào)試登錄
UPDATE 使用UPDATE
USAGE 無(wú)訪問(wèn)權(quán)限


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

未來(lái)的授權(quán) 在使用GRANT和REVOKE時(shí),用戶賬號(hào)必須存在,但對(duì)所涉及的對(duì)象沒(méi)有這個(gè)要求。

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

這樣做的副作用是,當(dāng)某個(gè)數(shù)據(jù)庫(kù)或表被刪除時(shí)(用DROP語(yǔ)句),相關(guān)的訪問(wèn)權(quán)限仍然存在。而且,如果將來(lái)重新創(chuàng)建該數(shù)據(jù)庫(kù)或表,這些權(quán)限仍然起作用。

簡(jiǎn)化多次授權(quán) 可通過(guò)列出各權(quán)限并用逗號(hào)分隔,將多條GRANT語(yǔ)句串在一起,如下所示:

GRANT SELECT, INSERT ON test.* to zhangsan;

5、更改口令

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

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

修改當(dāng)前用戶的口令:

SET PASSWORD  = PASSWORD('root');

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

相關(guān)文章

  • 還原大備份mysql文件失敗的解決方法分享

    還原大備份mysql文件失敗的解決方法分享

    今天在維護(hù)公司CRM的時(shí)候,恢復(fù)一個(gè)大的mysql數(shù)據(jù)庫(kù),恢復(fù)失敗. 用下面方法解決(管理mysql用的是navicat).,設(shè)置以下幾個(gè)參數(shù)的值后就正常了,以下語(yǔ)句也可以在mysql的控制臺(tái)上執(zhí)行
    2012-09-09
  • 總結(jié)12個(gè)MySQL慢查詢的原因分析

    總結(jié)12個(gè)MySQL慢查詢的原因分析

    這篇文章主要介紹了總結(jié)12個(gè)MySQL慢查詢的原因分析,慢查詢,都是因?yàn)闆](méi)有加索引。如果沒(méi)有加索引的話,會(huì)導(dǎo)致全表掃描的,更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-08-08
  • MySQL8新特性:自增主鍵的持久化詳解

    MySQL8新特性:自增主鍵的持久化詳解

    MySQL8.0 GA版本發(fā)布了,展現(xiàn)了眾多新特性,下面這篇文章主要給大家介紹了關(guān)于MySQL8新特性:自增主鍵的持久化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • MySQL實(shí)現(xiàn)分布式鎖

    MySQL實(shí)現(xiàn)分布式鎖

    這篇文章主要介紹了MySQL實(shí)現(xiàn)分布式鎖,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • mysql數(shù)據(jù)庫(kù)修改添加Date格式列的方法

    mysql數(shù)據(jù)庫(kù)修改添加Date格式列的方法

    這篇文章主要介紹了關(guān)于mysql數(shù)據(jù)庫(kù)如何修改添加Date格式的列 ,需要的朋友可以參考下
    2014-07-07
  • 詳解MySQL數(shù)據(jù)庫(kù)--多表查詢--內(nèi)連接,外連接,子查詢,相關(guān)子查詢

    詳解MySQL數(shù)據(jù)庫(kù)--多表查詢--內(nèi)連接,外連接,子查詢,相關(guān)子查詢

    這篇文章主要介紹了MySQL多表查詢,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • MYSQL 的10大經(jīng)典優(yōu)化案例場(chǎng)景實(shí)戰(zhàn)

    MYSQL 的10大經(jīng)典優(yōu)化案例場(chǎng)景實(shí)戰(zhàn)

    在應(yīng)用開(kāi)發(fā)的早期,數(shù)據(jù)量少,開(kāi)發(fā)人員開(kāi)發(fā)功能時(shí)更重視功能上的實(shí)現(xiàn),隨著生產(chǎn)數(shù)據(jù)的增長(zhǎng),很多SQL語(yǔ)句開(kāi)始暴露出性能問(wèn)題,對(duì)生產(chǎn)的影響也越來(lái)越大,有時(shí)可能這些有問(wèn)題的SQL就是整個(gè)系統(tǒng)性能的瓶頸。本文我們就聊聊MYSQL的優(yōu)化
    2021-09-09
  • mysql索引對(duì)排序的影響實(shí)例分析

    mysql索引對(duì)排序的影響實(shí)例分析

    這篇文章主要介紹了mysql索引對(duì)排序的影響,結(jié)合實(shí)例形式分析了mysql使用索引提高排序速度的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • MySQL優(yōu)化案例系列-mysql分頁(yè)優(yōu)化

    MySQL優(yōu)化案例系列-mysql分頁(yè)優(yōu)化

    這篇文章主要介紹了MySQL優(yōu)化案例系列-mysql分頁(yè)優(yōu)化,需要的朋友可以參考下
    2016-08-08
  • mysql字符串拼接的4種方式總結(jié)

    mysql字符串拼接的4種方式總結(jié)

    MySQL字符串拼接可以使多個(gè)字段的值組成一個(gè)集合,不僅可以拼接字符串與字符串、空格、特殊符號(hào)甚至可以拼接中文文本,下面這篇文章主要給大家介紹了關(guān)于mysql字符串拼接的4種方式,需要的朋友可以參考下
    2023-02-02

最新評(píng)論