mysql數據庫授權,備份,恢復

一,數據庫的用戶授權
mysql數據庫的root用戶賬號擁有對所有庫,表的全部權限,頻繁使用root用戶會給數據庫服務器帶來一定的安全風險。實際工作中,通常會建立一些低權限的用戶,只負責一部分庫,表的管理的維護操作,甚至可以對查詢,修改,刪除記錄等各種操作做進一步的細化限制,從而降低數據庫風險。
1.授予權限
GRANT語句:專門用來設置數據庫用戶的訪問權限。當指定的用戶名不存在時,GRANT語句將會創建新的用戶,否則,GRANT語句用於修改用戶信息。格式如下:
GRANT 權限列表 ON 庫名.表名  TO  用戶名@來源地址  [ IDENTIFIED BY '密碼' ]
注意:
權限列表:用於列出授權使用的各種數據庫操作,以逗號進行分隔。如“select,insert,update”。使用“all”表示所有權限,可授權執行任何操作。
庫名.表名:用於指定授權操作的庫和表的名稱,其中可以使用通配符“*”。例如:“auth.*”表示auth庫中所有表。
用戶名@來源地址:用戶指定用戶名稱和允許訪問的客戶機地址。來源地址可以是域名,IP地址,還可以使用“%”通配符,表示某個區域或網段內的所有地址。如“%.benet.com”,"192.168.1.%"等。
IDENTIFIED BY:用於設置用戶連接數據庫時蘇使用的密碼字符串。在新建用戶時,若省略該部分,則用戶密碼爲空。
使用GRANT語句授權的用戶記錄,會保存到mysql庫的user,db,host,tables_priv等相關表中,無須刷新即可生效。
在企業服務器的應用中,數據庫與網站服務器有時候是相互獨立的。因此在mysql服務器中,應根據實際情況創建新的用戶授權,允許授權用戶從網站服務器訪問數據庫。
2.查看權限
SHOW GRANT語句:專門用來查看數據庫用戶的授權信息,通過FOR子句可指定查看的用戶對象(必須與授權時使用的對象名稱一致),格式如下:
SHOW  GRANTS  FOR  用戶名@來源地址
3.撤銷權限
REVOKE語句:用於撤銷指定用戶的數據庫權限,撤銷權限後的用戶仍然可以連接到mysql服務器,但被禁止執行對應的數據庫操作。格式如下:
REVOKE  權限列表  ON  數據庫名.表名  FROM  用戶名@來源地址
二,數據庫的備份與恢復
mysql數據庫的備份可以採用多種方式。例如,直接打包數據庫文件夾/usr/local/mysql/data,或者使用專門的導出工具。下面以mysql自帶的傾倒工具mysqldump爲例,分別介紹數據庫的備份與恢復的操作方法。
1.備份數據庫
通過mysqldump命令可以直接 將制定的庫,表或全部的庫導出爲SQL腳本,便於該命令在不同版本的mysql服務器上使用。例如,當需要升級MySQL服務器時,可以先用mysqldump命令將原有庫信息導出,然後直接在升級後的MySQL服務器中導入即可。
1)執行導出操作
使用mysqldump命令導出數據時,默認會直接在終端顯示,若要保存到文件,還需要結合shell的“>”重定向輸出操作。格式如下:
格式1:導出指定庫中的部分表
mysqldump  [選項]  庫名  [表名1]  [表名2]  .....   >   /備份路徑/備份文件名
格式2:導出一個或多個完整的庫(包括其中所有的表)
mysqldump   [選項]     --database  庫名1  [庫名2]   ......    >    /備份路徑/備份文件名
格式3:備份MySQL服務器中的所有庫
mysqldump   [選項]   --all-database   >  /備份路徑/備份文件名
使用格式3導出MySQL服務器中所有庫,當導出數據量較大時,可以添加“--opt”選項以優化執行速度。
其中,常用的選項包括“-u”,"-p",分別用於指定數據庫用戶名,密碼。
2)查看備份文件內容
通過mysqldump工具導出的SQL腳本是文本文件,其中“”部分或以“--”開投票的行表示註釋信息。使用grep,less,cat等文本工具可以查看腳本內容。例如:執行以下操作可以過濾出auth.sql(mysql數據庫的本備份文件名)腳本中的數據庫操作語句。
grep   -v  "^--"  auth.sql  |  grep  -v  "^/"  | grep  -v  "^$"
2.恢復數據庫
使用mysqldump命令導出的sql備份腳本,在需要恢復時可以通過mysql命令對其進行導入操作。格式如下:
mysql  [選項]  [庫名]  [表名]  <  /備份路徑/備份文件名
當備份文件中只包含表的備份,而不包括創建庫的語句時,則執行導入操作時必須指定庫名,且目標庫必須存在。
若備份文件中已經包括完整的庫信息,則執行導入操作時無須指定庫名。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章