• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù)安全應(yīng)用設(shè)計(jì)

      2023-08-21 11:02:50李艷杰
      現(xiàn)代信息科技 2023年12期
      關(guān)鍵詞:應(yīng)用設(shè)計(jì)數(shù)據(jù)安全

      摘? 要:信息系統(tǒng)工程領(lǐng)域?qū)?shù)據(jù)安全的要求比較高,MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)普遍應(yīng)用于各種信息系統(tǒng)應(yīng)用軟件的開發(fā)之中,而角色與權(quán)限設(shè)計(jì)不僅關(guān)乎數(shù)據(jù)庫(kù)中數(shù)據(jù)保密性的性能高低,也關(guān)系到用戶使用數(shù)據(jù)庫(kù)的最低要求。在對(duì)數(shù)據(jù)庫(kù)的安全性進(jìn)行設(shè)計(jì)時(shí),為了保證數(shù)據(jù)的安全性和可靠性,提出通過設(shè)置角色和權(quán)限實(shí)現(xiàn)對(duì)數(shù)據(jù)的安全訪問,然后通過編寫代碼進(jìn)行實(shí)驗(yàn),以驗(yàn)證此方式解決數(shù)據(jù)庫(kù)中數(shù)據(jù)安全問題的有效性。

      關(guān)鍵詞:數(shù)據(jù)安全;應(yīng)用設(shè)計(jì);MySQL

      中圖分類號(hào):TP311.1? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)12-0151-04

      Design of Data Security Application Based on MySQL Database

      LI Yanjie

      (School of Information Engineering, Shandong Huayu University of Technology, Dezhou? 253034, China)

      Abstract: The field of information system engineering has high requirements for data security. MySQL database management system is widely used in the development of various information system application software, and the design of roles and permissions is not only related to the performance of data confidentiality in the database, but also to the minimum requirements for users to use the database. When designing the security of the database, in order to ensure the security and reliability of the data, it is proposed to set roles and permissions to achieve secure access to the data. Then, code is written for experiments to verify the effectiveness of this method in solving security issues of data in the database.

      Keywords: data security; application design; MySQL

      0? 引? 言

      在當(dāng)今大數(shù)據(jù)時(shí)代,各行各業(yè)都離不開計(jì)算機(jī)信息技術(shù),特別是利用信息系統(tǒng)應(yīng)用軟件對(duì)業(yè)務(wù)進(jìn)行處理,系統(tǒng)后臺(tái)會(huì)存放大量數(shù)據(jù),這也使得數(shù)據(jù)變得越來(lái)越重要,而作為數(shù)據(jù)的主要存儲(chǔ)器之一的數(shù)據(jù)庫(kù)管理系統(tǒng)就承擔(dān)起了保護(hù)數(shù)據(jù)的重要角色。在開發(fā)信息系統(tǒng)過程中,對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全設(shè)計(jì)必須給予重視,才能提高數(shù)據(jù)的安全性。

      目前主流的數(shù)據(jù)庫(kù)管理系統(tǒng)有Oracle、SQL Server、MySQL等,任何一個(gè)數(shù)據(jù)庫(kù)都要考慮數(shù)據(jù)安全方面的設(shè)計(jì),此文以MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)為例對(duì)數(shù)據(jù)安全進(jìn)行論述,其中一類安全問題是指數(shù)據(jù)庫(kù)中敏感數(shù)據(jù)被多個(gè)合法用戶查詢獲取,在使用過程中發(fā)生泄密事故或惡意篡改,數(shù)據(jù)庫(kù)管理員需要追蹤和熟悉哪些用戶曾訪問數(shù)據(jù)以及這些用戶的訪問權(quán)限和操作,用于解決相關(guān)事故責(zé)任。

      對(duì)數(shù)據(jù)庫(kù)中存放的關(guān)鍵數(shù)據(jù),基本上都有保密要求,即限制部分用戶對(duì)數(shù)據(jù)的訪問,在訪問的過程中也會(huì)限制用戶的訪問權(quán)限,不同用戶根據(jù)角色的不同,管理員要設(shè)置不同的訪問權(quán)限,以保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全。

      1? 存放用戶賬戶的權(quán)限表

      為了方便管理員管理用戶,需要為眾多用戶設(shè)置賬戶和訪問權(quán)限,同時(shí)為了方便管理,數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)置了重要的表存放賬戶和權(quán)限,在MySQL數(shù)據(jù)庫(kù)中與用戶及權(quán)限相關(guān)的表主要有4個(gè),即user表、db表、tables_priv表和columns_priv表。

      user表是最重要的表,包含用戶、權(quán)限、安全和資源控制4類共計(jì)42個(gè)字段,用戶包含用戶名、主機(jī)名和密碼。權(quán)限共計(jì)29個(gè),以_priv結(jié)尾,例如update_priv等。針對(duì)user表,里面存放全局級(jí)的權(quán)限。

      db表是非常重要的表之一,存放為用戶指定的某個(gè)或某些數(shù)據(jù)庫(kù)的操作權(quán)限。僅存放用戶名、主機(jī)名及權(quán)限。針對(duì)db表,里面存放數(shù)據(jù)庫(kù)級(jí)的權(quán)限。

      tables_priv表,用于存放固定數(shù)據(jù)庫(kù)下的一個(gè)表和多個(gè)表的用戶和用戶權(quán)限信息。

      columns_priv表,用于存放固定數(shù)據(jù)庫(kù)下固定表的一列或多列的用戶和用戶權(quán)限信息。

      4個(gè)表均存放用戶和權(quán)限,具體區(qū)別見如表1所示。

      2? 賬戶和賬戶權(quán)限設(shè)計(jì)

      在MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)下,賬戶的創(chuàng)建和驗(yàn)證與其他數(shù)據(jù)庫(kù)管理系統(tǒng)有所不同,在單機(jī)系統(tǒng)中,為了能夠進(jìn)行驗(yàn)證,數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),需要在Windows命令行下登錄才能夠進(jìn)行驗(yàn)證。

      2.1? 從Windows命令行登錄到MySQL數(shù)據(jù)庫(kù)中

      登錄過程如下:開始—運(yùn)行—輸入cmd,進(jìn)入Windows命令行--輸入?yún)?shù),即登錄命令(MySQL–u 用戶名–h 主機(jī)名–p密碼),第一次登錄創(chuàng)建用戶賬戶需要超級(jí)管理員root用戶進(jìn)行登錄。

      注意事項(xiàng):登錄命令如果執(zhí)行,必須切換到MySQL的安裝文件bin目錄下,因?yàn)楹芏嘤脩粼诎惭bMySQL時(shí),并沒有配置path變量,此時(shí),Windows命令行無(wú)法識(shí)別命名,所以無(wú)法執(zhí)行。例如C:\Users\Administrator>mysql -u root -h localhost–p,錯(cuò)誤提示:“mysql”不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。

      另外,如果MySQL服務(wù)器未開啟,也會(huì)顯示命令無(wú)效,所以也必須保證數(shù)據(jù)庫(kù)服務(wù)器處于開啟的狀態(tài)。下面是以超級(jí)管理員進(jìn)入MySQL數(shù)據(jù)庫(kù)管理系統(tǒng),在第一次創(chuàng)建用戶的時(shí)候,僅有root超級(jí)管理員才有權(quán)限創(chuàng)建其他用戶,輸入密碼便可以登錄到MySQL數(shù)據(jù)庫(kù)命令行。登錄過程如圖1所示。

      輸入密碼,即可進(jìn)入MySQL命令行。代碼為:

      c:\wamp\bin\mysql\mysql5.5.24\bin>mysql -u root -h localhost -p

      Enter password:--此處輸入密碼,后面出現(xiàn)MySQL的歡迎界面和連接所花費(fèi)的時(shí)間等。

      mysql>--最終以此命令符出現(xiàn),此時(shí)光標(biāo)會(huì)在mysql>后面停留,等待輸入命令。

      2.2? 創(chuàng)建用戶并賦予權(quán)限

      在MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)下,在此建立一個(gè)數(shù)據(jù)庫(kù)b和數(shù)據(jù)庫(kù)a,在數(shù)據(jù)庫(kù)b下建立一個(gè)數(shù)據(jù)表book,并在book數(shù)據(jù)表中設(shè)計(jì)一個(gè)整型字段bid代表圖書編號(hào),可以輸入一條記錄為1,為了進(jìn)行驗(yàn)證,再建立一個(gè)book2數(shù)據(jù)表,字段和記錄可以隨意設(shè)計(jì),在此利用簡(jiǎn)單的數(shù)據(jù)表展示創(chuàng)建用戶賬戶并賦予權(quán)限的過程。部分代碼為:

      Create database a;

      Create database b;

      create table book(bidint);

      insert into book values(1);

      create table book2(bidint,bname char(4));

      下面設(shè)計(jì)第一個(gè)用戶a1,密碼為:test1,此用戶的權(quán)限設(shè)計(jì)為僅能操作數(shù)據(jù)庫(kù)b,利用如下格式設(shè)計(jì)代碼,即利用grant創(chuàng)建新用戶,并賦予權(quán)限,語(yǔ)法規(guī)則:Grant權(quán)限類型 on 數(shù)據(jù)庫(kù).數(shù)據(jù)表 to 用戶名@主機(jī)名 identified by password[,user@host identified by password][with grant option]。注意:權(quán)限類型表示賦予用戶的權(quán)限類型(例如:select、alter、reload、excute、event等),數(shù)據(jù)庫(kù).數(shù)據(jù)表代表權(quán)限的級(jí)別,一個(gè)*代表當(dāng)前數(shù)據(jù)庫(kù)中的所有表,*.*代表所有數(shù)據(jù)庫(kù)下的所有表,db_name.*代表固定數(shù)據(jù)庫(kù)中的所有表,db_name.tbl_name代表固定數(shù)據(jù)庫(kù)中的固定表和視圖,db_name.routine_name代表固定數(shù)據(jù)庫(kù)中的固定存儲(chǔ)過程和函數(shù),user@host代表用戶名和主機(jī)名,password代表密碼,而[with grant option] ]則代表該用戶可以對(duì)其他用戶賦予權(quán)限,其他命令為固定寫法。此代碼為:

      grant all on b.* to'a1'@'localhost'identified by'test1';

      具體代碼即執(zhí)行過程如圖2所示。

      下面設(shè)計(jì)第二個(gè)用戶a2,密碼為:test2,設(shè)計(jì)權(quán)限為僅能查看數(shù)據(jù)庫(kù)b下的book表,此代碼為:

      grant select on b.book to'a2'@'localhost'identified by'test2';

      具體代碼即執(zhí)行過程如圖3所示。

      3? 驗(yàn)證用戶權(quán)限是否有作用

      驗(yàn)證用戶是否具有對(duì)數(shù)據(jù)的訪問權(quán)限,也必須打開Windows命令行,以此用戶登錄和密碼登錄到數(shù)據(jù)庫(kù)管理系統(tǒng),在進(jìn)行驗(yàn)證之前,必須退出超級(jí)管理員的界面,重新進(jìn)入,退出過程可以使用代碼quit,下面驗(yàn)證第一個(gè)用戶的權(quán)限。登錄過程如圖4所示。

      用戶a1僅能訪問b數(shù)據(jù)庫(kù),不能訪問a數(shù)據(jù)庫(kù),下面是驗(yàn)證過程,通過下面的驗(yàn)證可以看出,用戶a1對(duì)數(shù)據(jù)庫(kù)a的訪問權(quán)限受到限制,當(dāng)訪問數(shù)據(jù)庫(kù)a的時(shí)候,如圖5中的錯(cuò)誤提示代表針對(duì)用戶a1訪問被拒絕,但可以訪問數(shù)據(jù)庫(kù)b,從而保證數(shù)據(jù)的安全性。

      同理驗(yàn)證第二個(gè)用戶a2,以第二個(gè)用戶登錄,第二個(gè)用戶可以查詢數(shù)據(jù)庫(kù)b下的book表信息,但不能查詢book2數(shù)據(jù)表信息,因?yàn)闆]有權(quán)限,通過此代碼:ERROR 1142 (42000): SELECT command denied to user 'a2'@'localhost' for table 'book2'實(shí)驗(yàn)得出,用戶a2的訪問被拒絕,從而得出每個(gè)用戶必須在自己權(quán)限范圍內(nèi)訪問數(shù)據(jù)。如圖6所示。

      4? 用戶賬戶在權(quán)限表中的體現(xiàn)

      根據(jù)前面提到的權(quán)限表,所有用戶賬戶均存放在user表中,不管是否具有權(quán)限,并且權(quán)限在user表中的沒有任何權(quán)限。通過查詢select_priv字段可以得出全部為N,代表沒有權(quán)限。代碼如下:

      mysql> select user,password,select_priv from mysql.user;

      查詢后在MySQL命令行中的顯示結(jié)構(gòu)如下:

      不同權(quán)限的用戶名和權(quán)限存放在不同的表中。由于為用戶a1指定了僅能訪問固定數(shù)據(jù)庫(kù)a,具有對(duì)數(shù)據(jù)庫(kù)訪問的所有權(quán)限,以db、select_priv等字段顯示為例,結(jié)果為Y,代表具有查詢等所有權(quán)限。所以屬于數(shù)據(jù)庫(kù)級(jí)別的權(quán)限,應(yīng)該存放在db表中。如圖7所示。

      由于為用戶a2指定了僅能查詢固定數(shù)據(jù)庫(kù)b下的固定數(shù)據(jù)表book,具體到某個(gè)固定的數(shù)據(jù)表,所以屬于表級(jí)別的權(quán)限,用戶a2應(yīng)該存放在tables_priv表中,以u(píng)ser、db、table_name、table_priv字段顯示為例,體現(xiàn)了用戶、數(shù)據(jù)庫(kù)、數(shù)據(jù)表和權(quán)限,代碼為:

      mysql> select user,db,table_name,table_priv from mysql.tables_priv where user='a2';

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

      | user? | db? | table_name | table_priv |

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

      | a2? ? ?| b? ? | book? ? ? ? ? ?| Select? ? ? ? |

      5? 結(jié)? 論

      本文以MySQL數(shù)據(jù)庫(kù)為例,結(jié)合數(shù)據(jù)庫(kù)中對(duì)用戶賬戶和權(quán)限的應(yīng)用,設(shè)計(jì)了兩個(gè)用戶和用戶的權(quán)限,通過實(shí)驗(yàn)結(jié)論得出設(shè)計(jì)的用戶權(quán)限在用戶訪問數(shù)據(jù)的時(shí)候受到了限制,管理員可以根據(jù)權(quán)限表對(duì)用戶賬戶和權(quán)限進(jìn)行管理,并根據(jù)實(shí)際需求對(duì)用戶的權(quán)限進(jìn)行轉(zhuǎn)移或撤銷,進(jìn)而保證數(shù)據(jù)的安全。

      參考文獻(xiàn):

      [1] 黃劉松,張飛,張學(xué)鋒,等.基于網(wǎng)閘的異構(gòu)數(shù)據(jù)庫(kù)安全同步系統(tǒng) [J].大理大學(xué)學(xué)報(bào),2022,7(12):25-30.

      [2] 林加華,李志虹,姜華.一種基于安全散列加密算法的數(shù)據(jù)庫(kù)操作痕跡可證明追蹤算法 [J].現(xiàn)代計(jì)算機(jī),2022,28(22):42-46.

      [3] 王思君.信息管理中計(jì)算機(jī)數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用研究 [J].信息與電腦:理論版,2022,34(7):210-212.

      [4] 田波.大數(shù)據(jù)背景下的數(shù)據(jù)安全分析 [J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2021(8):58-59.

      [5] 劉秀梅.基于MySQL數(shù)據(jù)庫(kù)安全的實(shí)驗(yàn)教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].北京:北京郵電大學(xué),2017.

      [6] 林森.企業(yè)信息管理系統(tǒng)數(shù)據(jù)庫(kù)安全控制策略分析 [J].中國(guó)管理信息化,2021,24(8):120-121.

      作者簡(jiǎn)介:李艷杰(1978—),女,漢族,山東德州人,副教授,碩士,主要研究方向:數(shù)據(jù)挖掘技術(shù)。

      猜你喜歡
      應(yīng)用設(shè)計(jì)數(shù)據(jù)安全
      云計(jì)算中基于用戶隱私的數(shù)據(jù)安全保護(hù)方法
      電子制作(2019年14期)2019-08-20 05:43:42
      建立激勵(lì)相容機(jī)制保護(hù)數(shù)據(jù)安全
      大數(shù)據(jù)云計(jì)算環(huán)境下的數(shù)據(jù)安全
      電子制作(2017年20期)2017-04-26 06:57:48
      項(xiàng)目教學(xué)法在《基礎(chǔ)會(huì)計(jì)》教學(xué)中的應(yīng)用
      商情(2016年40期)2016-11-28 11:47:00
      分層教學(xué)模式在初中信息技術(shù)中的應(yīng)用設(shè)計(jì)
      考試周刊(2016年61期)2016-08-16 06:45:23
      民間美術(shù)在現(xiàn)代設(shè)計(jì)中的應(yīng)用
      淺析建構(gòu)主義理論在中學(xué)物理教學(xué)設(shè)計(jì)中的應(yīng)用
      大數(shù)據(jù)安全搜索與共享
      沁源县| 盐池县| 叙永县| 特克斯县| 黄平县| 综艺| 盐亭县| 江油市| 开鲁县| 襄樊市| 杭州市| 芜湖县| 柞水县| 高唐县| 库伦旗| 昆山市| 三穗县| 特克斯县| 景洪市| 元阳县| 七台河市| 封丘县| 南陵县| 鄂尔多斯市| 万年县| 临沭县| 通道| 襄汾县| 渭源县| 靖边县| 循化| 乐业县| 大安市| 漾濞| 庐江县| 屏南县| 射阳县| 云龙县| 图木舒克市| 大竹县| 商河县|