MySQL学习笔记8:权限管理、数据库备份与设计
1、前言
學(xué)習(xí)視頻源自:【狂神說(shuō)Java】MySQL最新教程通俗易懂
B站視頻鏈接:https://www.bilibili.com/video/BV1NJ411J79W
【狂神說(shuō)Java】MySQL最新教程通俗易懂
筆記為看視頻自行撰寫(xiě),僅限學(xué)習(xí)交流使用
1.1、上一篇文章
MySQL學(xué)習(xí)筆記7:MySQL索引配合大量數(shù)據(jù)的使用
9、權(quán)限管理和數(shù)據(jù)庫(kù)備份
9.1、用戶管理
SQL Navicat可視化管理
SQL 命令操作
用戶表:mysqluser
本質(zhì):對(duì)這張表增刪改查
-- 創(chuàng)建用戶 CREATE USER 用戶名 IDENTIFIED BY '密碼' CREATE USER zhuzhu IDENTIFIED BY '123456'-- 修改密碼(修改當(dāng)前用戶密碼) SET PASSWORD = PASSWORD('111111') -- 修改密碼(修改指定用戶密碼) SET PASSWORD FOR zhuzhu = PASSWORD('111111')-- 重命名 RENAME USER 原來(lái)的名字 TO 新名字 RENAME USER zhuzhu TO dazhuzhu-- 用戶授權(quán) GRANT ALL PRIVILEGES 全部的權(quán)限,庫(kù),表 -- ALL PRIVILEGES 除了給別人授權(quán),其他都能干 GRANT ALL PRIVILEGES ON *.* TO zhuzhu-- 查看權(quán)限 SHOW GRANTS FOR zhuzhu -- 查看指定用戶的權(quán)限 SHOW GRANTS FOR root@localhost -- 查看root用戶的權(quán)限-- 撤銷權(quán)限 REVOKE 哪些權(quán)限,在那個(gè)庫(kù),給誰(shuí)撤銷 REVOKE ALL PRIVILEGES ON *.* FROM zhuzhu-- 刪除用戶 DROP USER zhuzhu9.2、MySQL備份
為什么要備份
- 保證重要的數(shù)據(jù)不丟失
- 數(shù)據(jù)轉(zhuǎn)移
MySQL數(shù)據(jù)庫(kù)備份的方式
- 直接拷貝物理文件
- 在可視化工具中手動(dòng)導(dǎo)出
- 在想要導(dǎo)出的表或庫(kù)中右鍵選擇轉(zhuǎn)儲(chǔ)
- [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-2k72sQJ7-1591101634138)(https://gitee.com/cyh199910/personal_picture_bed/raw/master/img/屏幕截圖(1)].png)
- 使用命令行導(dǎo)出 mysqldump
假設(shè)你要備份數(shù)據(jù)庫(kù),防止數(shù)據(jù)丟失
把數(shù)據(jù)庫(kù)給朋友,sql文件給別人即可
10、規(guī)范數(shù)據(jù)庫(kù)設(shè)計(jì)
10.1、為什么需要設(shè)計(jì)
當(dāng)數(shù)據(jù)庫(kù)比較復(fù)雜的時(shí)候,就需要設(shè)計(jì)了
糟糕的數(shù)據(jù)庫(kù)設(shè)計(jì):
- 數(shù)據(jù)冗余,浪費(fèi)空間
- 數(shù)據(jù)插入和刪除都比較麻煩,可能會(huì)產(chǎn)生異常
- 程序的性能差
良好的數(shù)據(jù)庫(kù)設(shè)計(jì):
- 節(jié)省內(nèi)存空間
- 保證數(shù)據(jù)的完整性,屏蔽使用物理外鍵
- 方便我們開(kāi)發(fā)系統(tǒng)
軟件開(kāi)發(fā)中,關(guān)于數(shù)據(jù)庫(kù)的設(shè)計(jì)
- 分析需求:分析業(yè)務(wù)和需要處理的數(shù)據(jù)的需求
- 概要設(shè)計(jì):設(shè)計(jì)關(guān)系圖E-R圖
設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟(個(gè)人博客)
-
收集信息、分析需求
- 用戶表(用戶登錄注銷,用戶的個(gè)人信息,寫(xiě)博客,創(chuàng)建分類)
- 分類表(文章分類,誰(shuí)創(chuàng)建的)
- 評(píng)論表
- 文章表(文章的信息)
- 友鏈表(友鏈信息)
- 自定義表(系統(tǒng)信息,某個(gè)關(guān)鍵的字,或者一些主字段) key : value
- 說(shuō)說(shuō)表(發(fā)表心情)
-
標(biāo)識(shí)實(shí)體(把需求落地到每個(gè)字段)
-
標(biāo)識(shí)實(shí)體之間的關(guān)系
- 寫(xiě)博客:user --> blog
- 創(chuàng)建分類:user --> category
- 關(guān)注:user -->user
- 友鏈:links
- 評(píng)論:user --> user --> blog
10.2、三大范式
為什么需要數(shù)據(jù)規(guī)范化?
- 信息重復(fù)
- 更新異常
- 插入異常
- 無(wú)法正常顯示信息
- 刪除異常
- 丟失有效的信息
三大范式
學(xué)習(xí)鏈接:https://www.cnblogs.com/wsg25/p/9615100.html
第一范式(1NF)
原子性:保證每一列不可再分
第二范式(2NF)
前提:滿足第一范式前提下
每張表只描述一件事情
第三范式(3NF)
前提:滿足第一和第二范式
第三范式需要確保數(shù)據(jù)表中的每一列數(shù)據(jù)都和主鍵直接相關(guān),而不能間接相關(guān)。
規(guī)范數(shù)據(jù)庫(kù)的設(shè)計(jì)
規(guī)范性和性能的問(wèn)題
關(guān)聯(lián)查詢的表不得超過(guò)三張表
- 考慮商業(yè)化的需求和目標(biāo)(成本、用戶體驗(yàn))數(shù)據(jù)庫(kù)的性能更加重要
- 在規(guī)范性能的問(wèn)題的時(shí)候,需要適當(dāng)考慮一下規(guī)范性
- 故意給某些表增加一些冗余的字段(從多表查詢變?yōu)閱伪聿樵?#xff09;
- 故意增加一些計(jì)算列(從大數(shù)據(jù)量降低為小數(shù)據(jù)量的查詢、索引)
總結(jié)
以上是生活随笔為你收集整理的MySQL学习笔记8:权限管理、数据库备份与设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 能将PDF转成PPT图片文字的转换器
- 下一篇: linux cmake编译源码,linu