第8章 數(shù)據(jù)庫的高級操作_第1頁
第8章 數(shù)據(jù)庫的高級操作_第2頁
第8章 數(shù)據(jù)庫的高級操作_第3頁
第8章 數(shù)據(jù)庫的高級操作_第4頁
第8章 數(shù)據(jù)庫的高級操作_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、讓IT教學更簡單,讓IT學習更有效讓IT教學更簡單,讓IT學習更有效第八章 數(shù)據(jù)庫的高級操作數(shù)據(jù)的備份用戶管理數(shù)據(jù)的還原權(quán)限管理讓IT教學更簡單,讓IT學習更有效 學習目標掌握數(shù)據(jù)的備份與還原13了解mysql.user表2熟悉數(shù)據(jù)庫的用戶管理和權(quán)限管理掌握了解熟悉讓IT教學更簡單,讓IT學習更有效 目錄數(shù)據(jù)備份與還原8.18.1用戶管理8.28.2權(quán)限管理8.38.3點擊查看本小節(jié)知識架構(gòu)點擊查看本小節(jié)知識架構(gòu)點擊查看本小節(jié)知識架構(gòu)讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原返回目錄 知識架構(gòu)8.1.28.1.1數(shù)據(jù)的備份數(shù)據(jù)的還原讓IT教學更簡單,讓IT學習更有效8.2 用戶管

2、理返回目錄8.2.38.2.4刪除普通用戶修改用戶密碼 知識架構(gòu)8.2.28.2.1user表創(chuàng)建普通用戶讓IT教學更簡單,讓IT學習更有效8.3 權(quán)限管理返回目錄8.3.38.3.4查看權(quán)限回收權(quán)限 知識架構(gòu)8.3.28.3.1MySQL的權(quán)限授予權(quán)限讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.1 數(shù)據(jù)的備份數(shù)據(jù)的備份 MySQL提供了一個mysqldump命令,它可以實現(xiàn)數(shù)據(jù)的備份。 mysqldump命令可以備份單個數(shù)據(jù)庫、多個數(shù)據(jù)庫和所有數(shù)據(jù)庫,具體如下: 1、備份單個數(shù)據(jù)庫、備份單個數(shù)據(jù)庫 mysqldump命令備份數(shù)據(jù)庫的語法格式如下:mysqldump -u

3、username -ppassword dbname tbname1 tbname2filename.sql上述語法格式中,-u后面的參數(shù)username表示用戶名,-p后面的參數(shù)password表示登錄密碼,dbname表示需要備份的數(shù)據(jù)庫名稱,tbname表示數(shù)據(jù)庫中表名,可以指定一個或多個表,多個表名之間用空格分隔,如果不指定則備份整個數(shù)據(jù)庫,filename.sql表示備份文件的名稱,文件名前可以加上絕對路徑。讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.1 數(shù)據(jù)的備份數(shù)據(jù)的備份 需要注意的是,在使用mysqldump命令備份數(shù)據(jù)庫時,直接在Dos命令行窗口執(zhí)行該命

4、令即可,不需要登錄到MySQL數(shù)據(jù)庫。 接下來通過具體的案例來演示如何使用mysqldump命令。 在演示之前創(chuàng)建一個名稱為chapter08的數(shù)據(jù)庫,并在數(shù)據(jù)庫中創(chuàng)建表student,插入相應(yīng)數(shù)據(jù),SQL語句如下:讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.1 數(shù)據(jù)的備份數(shù)據(jù)的備份 使用SELECT語句查詢表student,查詢結(jié)果如下: 從上述查詢結(jié)果可以看出,數(shù)據(jù)添加成功了。 讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.1 數(shù)據(jù)的備份數(shù)據(jù)的備份 【例8-1】首先在C盤創(chuàng)建一個名為backup的文件夾用于存放備份好的文件,然后重新開啟一個DOS命

5、令行窗口(不用登錄到MySQL數(shù)據(jù)庫),使用mysqldump命令備份chapter08數(shù)據(jù)庫,mysqldump語句如下: 上述語句執(zhí)行成功后,會在backup文件夾中生成一個名為chapter08_20140305.sql的備份文件。mysqldump -uroot -pitcast chapter08C:/backup/chapter08_20140305.sql讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.1 數(shù)據(jù)的備份數(shù)據(jù)的備份 使用記事本打開該備份文件,可以看到如下所示的內(nèi)容:讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.1 數(shù)據(jù)的備份數(shù)據(jù)的

6、備份 2、備份多個數(shù)據(jù)庫、備份多個數(shù)據(jù)庫 mysqldump命令不僅可以備份一個數(shù)據(jù),還同時可以備份多個數(shù)據(jù)庫,其語法格式如下: 上述語法格式中,“-database”參數(shù)后面至少應(yīng)指定一個數(shù)據(jù)庫名稱,如果有多個數(shù)據(jù)庫,則名稱之間用空格隔開。mysqldump uusername ppassword -database dbname1 dbname2 dbname3filename.sql讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.1 數(shù)據(jù)的備份數(shù)據(jù)的備份 3、備份所有數(shù)據(jù)庫、備份所有數(shù)據(jù)庫 使用mysqldump命令備份所有數(shù)據(jù)庫時,只需在該命令后使用“-all-dat

7、abases”參數(shù)即可,其語法格式如下: 需要注意的是,如果使用“-all-databases”參數(shù)備份了所有的數(shù)據(jù)庫,那么在還原數(shù)據(jù)庫時,不需要創(chuàng)建數(shù)據(jù)庫并指定要操作的數(shù)據(jù)庫,因為,對應(yīng)的備份文件中包含了CREATE DATABASE語句和USE語句。mysqldump uusername ppassword -all-databasesfilename.sql讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.2 數(shù)據(jù)的還原數(shù)據(jù)的還原 mysql命令還原數(shù)據(jù)的語法格式如下: 上述語法格式中,username表示登錄的用戶名,password表示用戶的密碼,dbname表示要還

8、原的數(shù)據(jù)庫名稱,如果使用mysqldump命令備份的filename.sql文件中包含創(chuàng)建數(shù)據(jù)庫的語句,則不需要指定數(shù)據(jù)庫。mysql uusername ppassword dbname filename.sql讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.2 數(shù)據(jù)的還原數(shù)據(jù)的還原 我們知道數(shù)據(jù)庫中的庫是不能被還原的,因此在還原數(shù)據(jù)之前必須先創(chuàng)建數(shù)據(jù)庫。接下來通過一個案例來學習數(shù)據(jù)的還原,具體操作步驟如下: (1) 刪除數(shù)據(jù)庫刪除數(shù)據(jù)庫 為了演示數(shù)據(jù)的還原,首先需要使用DROP語句將數(shù)據(jù)庫chapter08刪除,具體語句如下:DROP DATABASE chapter08

9、;讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.2 數(shù)據(jù)的還原數(shù)據(jù)的還原 上述語句執(zhí)行成功后,可以使用SHOW DATABASES語句查詢數(shù)據(jù)庫,查詢結(jié)果如下: 從查詢結(jié)果可以看出,數(shù)據(jù)庫chapter08被成功刪除了。讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1.2 數(shù)據(jù)的還原數(shù)據(jù)的還原 (2) 創(chuàng)建數(shù)據(jù)庫 由于庫是不能被還原的,因此先要創(chuàng)建一個數(shù)據(jù)庫chapter08,具體語句如下: 上述語句執(zhí)行成功后,接下來就可以還原數(shù)據(jù)庫中的數(shù)據(jù)。CREATE DATABASE chapter08;讓IT教學更簡單,讓IT學習更有效8.1 數(shù)據(jù)備份與還原 8.1

10、.2 數(shù)據(jù)的還原數(shù)據(jù)的還原 (3) 還原數(shù)據(jù) 使用mysql語句還原C:/backup目錄下的chapter08_20140305.sql文件,具體語句如下: 上述語句執(zhí)行成功后,數(shù)據(jù)庫中的數(shù)據(jù)就會被還原。mysql -uroot -pitcast chapter08 目錄下進行修改。讓IT教學更簡單,讓IT學習更有效8.2 用戶管理 8.2.4修改用戶密碼修改用戶密碼 在命令行窗口中,使用mysqladmin命令,將root用戶的密碼修改為mypwd1,SQL語句如下: 上述語句執(zhí)行成功后,會提示輸入密碼,具體如下: 需要注意的是,上面提示輸入密碼,是指root用戶的舊密碼,密碼輸入正確后,

11、該語句執(zhí)行完畢,root用戶的密碼被修改,下次登錄時使用新的密碼即可。 可以在命令行窗口中進行驗證,使用新密碼成功登錄了MySQL數(shù)據(jù)庫,說明密碼修改成功。mysqladmin -u root -p password mypwd1讓IT教學更簡單,讓IT學習更有效8.2 用戶管理 8.2.4修改用戶密碼修改用戶密碼 一、修改一、修改root用戶的密碼用戶的密碼 2、使用、使用UPDATE語句修改語句修改root用戶密碼用戶密碼 由于所有的用戶信息都存放在mysql.user表中,因此,只要root用戶登錄到MySQL服務(wù)器,使用UPDATE語句就可以直接修改自己的密碼。 UPDATE語句修改密

12、碼的語法格式如下:UPDATE mysql.user set Password=PASSWORD(new_password)WHERE User=username and Host=hostname;讓IT教學更簡單,讓IT學習更有效8.2 用戶管理 8.2.4修改用戶密碼修改用戶密碼 root用戶登錄到MySQL服務(wù)器,通過UPDATE語句將root用戶的密碼修改為mypwd2,UPDATE語句如下: 上述語句執(zhí)行成功后,還需使用FLUSH PRIVILEGES重新加載權(quán)限表,然后就可以使用新密碼登錄MySQL數(shù)據(jù)庫。 可以在命令行窗口中驗證用戶密碼是否修改成功,使用新密碼成功登錄了MySQ

13、L數(shù)據(jù)庫,說明修改成功。UPDATE mysql.user SET Password=PASSWORD(mypwd2) WHERE User=root and Host=localhost;讓IT教學更簡單,讓IT學習更有效8.2 用戶管理 8.2.4修改用戶密碼修改用戶密碼 二、二、root用戶修改普通用戶的密碼用戶修改普通用戶的密碼 1、使用、使用GRANT語句修改普通用戶密碼語句修改普通用戶密碼 GRANT語句的作用比較多,不僅可以創(chuàng)建用戶為用戶授權(quán),還可以修改用戶的密碼,通常情況下,為了不影響當前賬戶的權(quán)限,可以使用GRANT USAFE語句修改指定賬戶的密碼。 GRANT語句修改密碼

14、的語法格式:GRANT USAFE ON *.* TO usernamelocalhost IDENTIFIED BY PASSWORDnew_password;讓IT教學更簡單,讓IT學習更有效8.2 用戶管理 8.2.4修改用戶密碼修改用戶密碼 二、二、root用戶修改普通用戶的密碼用戶修改普通用戶的密碼 2、使用、使用UPDATE語句修改普通用戶的密碼語句修改普通用戶的密碼 root用戶的具有操作數(shù)據(jù)庫的所有權(quán)限,因此,它不僅可以使用UPDATE語句修改自己的密碼,還可以使用UPDATE語句修改普通用戶的密碼。 UPDATE語句修改普通用戶的密碼,語法格式具體如下: 需要注意的是,使用上

15、述語句修改完普通用戶的密碼后,還需要使用FLUSH PRIVILEGES語句重新加載權(quán)限表。UPDATE mysql.user set Password=PASSWORD(new_password)WHERE User=username and Host=hostname;讓IT教學更簡單,讓IT學習更有效8.2 用戶管理 8.2.4修改用戶密碼修改用戶密碼 二、二、root用戶修改普通用戶的密碼用戶修改普通用戶的密碼 3、使用、使用SET語句修改普通用戶的密碼語句修改普通用戶的密碼 前面講過使用SET不僅可以修改root用戶密碼,而且還可以修改普通用戶密碼,在修改普通用戶密碼時,還需要增加一

16、個FOR子句,指定要修改哪個用戶即可。 SET語句修改密碼的語法格式如下:SET PASSWORD FORusernamehostname=PASSWORD(new_password);讓IT教學更簡單,讓IT學習更有效8.2 用戶管理 8.2.4修改用戶密碼修改用戶密碼 三、普通用戶修改密碼三、普通用戶修改密碼 普通用戶也可以修改自己的密碼,這樣普通用戶就不需要每次修改密碼時都通知管理員,普通用戶登錄到MySQL服務(wù)器后,可以通過SET語句來設(shè)置自己的密碼。 SET語句的基本格式如下: SET語句修改普通用戶密碼時,和修改root用戶是一樣的,都需要使用PASSWORD()函數(shù)進行加密。SE

17、T PASSWORD=PASSWORD(new_password);讓IT教學更簡單,讓IT學習更有效8.2 用戶管理 多學一招:如何解決多學一招:如何解決root用戶密碼丟失用戶密碼丟失 停止MySQL服務(wù) 使用-skip-grant-tables啟動MySQL服務(wù) MySQL服務(wù)器中有一個skip-grant-tables選項可以停止MySQL的權(quán)限判斷,任何用戶都可以訪問數(shù)據(jù)庫,并且通過該選項也可以啟動MySQL服務(wù),在運行對話框中執(zhí)行如下命令: 登錄MySQL服務(wù)器 重新開啟一個運行對話框,在運行對話框中登錄MySQL服務(wù)器,具體命令如下:讓IT教學更簡單,讓IT學習更有效8.2 用戶

18、管理 多學一招:如何解決多學一招:如何解決root用戶密碼丟失用戶密碼丟失 使用UPDATE語句設(shè)置root用戶密碼 加載權(quán)限表 MySQL密碼設(shè)置完成后,還需重新加載權(quán)限表,讓設(shè)置的密碼生效,具體語句如下:讓IT教學更簡單,讓IT學習更有效8.3 權(quán)限管理 MySQL中的權(quán)限信息被存儲在mysql數(shù)據(jù)庫的user、db、host、tables_priv、column_priv和procs_priv表中,當MySQL啟動時會自動加載這些權(quán)限信息,并將這些權(quán)限信息讀取到內(nèi)存中。接下來通過表8-2列舉一下MySQL的相關(guān)權(quán)限以及在user表中對應(yīng)的列和權(quán)限范圍。 8.3.1MySQL的權(quán)限的權(quán)限讓

19、IT教學更簡單,讓IT學習更有效8.3 權(quán)限管理 表8-2對MySQL的權(quán)限以及權(quán)限的范圍進行了介紹,對于初學者來說可能無法理解,接下來針對表中部分權(quán)限進行分析,具體如下: CREATE和DROP權(quán)限,可以創(chuàng)建數(shù)據(jù)庫、表、索引,或者刪除已有的數(shù)據(jù)庫、表、索引。 INSERT、DELETE、UPDATE 、SELECT權(quán)限,可以對數(shù)據(jù)庫中的表進行增刪改查操作。 INDEX權(quán)限,可以創(chuàng)建或刪除索引,適用于所有的表。 ALTER權(quán)限,可以用于修改表的結(jié)構(gòu)或重命名表。 GRANT權(quán)限,允許為其它用戶授權(quán),可用于數(shù)據(jù)庫和表。 FILE權(quán)限,被賦予該權(quán)限的用戶能讀寫MySQL服務(wù)器上的任何文件。 8.3.

20、1MySQL的權(quán)限的權(quán)限讓IT教學更簡單,讓IT學習更有效8.3 權(quán)限管理 8.3.2授予權(quán)限授予權(quán)限 數(shù)據(jù)庫中的用戶擁有不同的權(quán)限,合理的授權(quán)可以保證數(shù)據(jù)庫的安全。在MySQL中提供了一個GRANT語句,該語句可以為用戶授權(quán)。 上述語法格式中,privileges表示權(quán)限類型,columns參數(shù)表示權(quán)限作用于某一列,該參數(shù)可以省略不寫,此時權(quán)限作用于整個表,username表示用戶名,hostname表示主機名,IDENTIFIED BY參數(shù)為用戶設(shè)置密碼,PASSWORD參數(shù)為關(guān)鍵字,password為用戶的新密碼。WITH關(guān)鍵字后面可以帶有多個參數(shù)with_option。with_opt

21、ion有五個取值,具體如下:lGRANT OPTION:將自己的權(quán)限授予其他用戶。lMAX_QUERIES_PER_HOUR count:設(shè)置每小時最多可以執(zhí)行多少次(count)查詢。lMAX_UPDATES_PER_HOUR count:設(shè)置每小時最多可以執(zhí)行多少次更新。lMAX_CONNECTIONS_PER_HOUR count:設(shè)置每小時最大的連接數(shù)量。lMAX_USER_CONNECTIONS:設(shè)置每個用戶最多可以同時建立連接的數(shù)量。讓IT教學更簡單,讓IT學習更有效8.3 權(quán)限管理 8.3.2授予權(quán)限授予權(quán)限 使用GRANT語句創(chuàng)建一個新的用戶,用戶名為user4、密碼為123,

22、user4用戶對所有數(shù)據(jù)庫有INSERT、SELECT權(quán)限,并使用WITH GRANT OPTION子句,GRANT語句如下: 上述語句執(zhí)行成功后,可以使用SELECT語句來查詢user表中的用戶權(quán)限,查詢結(jié)果如下:從上述結(jié)果可以看出,User的值為user4,Insert_priv、Select_priv、Grant_priv的值都為Y,因此可以說明用戶user4對所有數(shù)據(jù)庫具有增加、查詢、以及對其他用戶賦予相應(yīng)權(quán)限的功能。讓IT教學更簡單,讓IT學習更有效8.3 權(quán)限管理 8.3.3查看權(quán)限查看權(quán)限 為了方便查詢用戶的權(quán)限信息,MySQL還提供了一個SHOW GRANTS語句。SHOW GRANTS的語法格式如下: 從上述語法格式可以看出,SHOW GRANTS語法格式比較簡單,只需要指定查詢的用戶名和主機名即可。SHOW GRANTS FOR usernamehostname;讓IT教學更簡單,讓IT學習更有效8.3 權(quán)限管理 8.3.3查看權(quán)查看權(quán)限限 使用SHOW GRANTS語句查詢root用戶的權(quán)限 root用戶擁有所有權(quán)限,并且可以為其他用戶賦予權(quán)限。讓IT教學更簡單,讓IT學習更有效8.3 權(quán)限管理 8.3.3查看權(quán)查看

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論