MySQL的權限設置和備份還原

    MySQL數據庫系統的維護工作主要包括用戶權限的設置、數據庫的備份與恢復,本篇博客將對進行這些操作進行講解


數據庫的用戶授權

    MySQL數據庫的root用戶賬號擁有對所有庫、表的全部權限,頻繁使用root賬號會給數據庫服務器帶來一定的風險。在工作中,通常會建立一些低權限的用戶,只負責對一部分庫、表的管理和維護操作,甚至對查詢、修改、刪除等各種操作做進一步的細化限制,從而將數據庫的風險降至最低


1. 授予權限

    grant語句:專門用來設置數據庫的訪問權限。當指定的用戶名不存在時,grant語句會創建新的用戶,否則,將修改用戶的信息,語句格式如下:

grant 權限列表 on 庫名.表名 to 用戶名@來源地址 [ identified by '密碼']

其中,各字段含義如下:

* 權限列表:如“select,insert,update”,使用逗號分隔,使用all表示所有權限

* 庫名.表名:庫和表的名稱,可使用通配符“*”,例如,“yang.*”表示授權對象爲yang庫中的所有表

* 用戶名@來源地址:來源地址可以是域名、IP地址,還可以使用通配符“%”,表示某個區域或網段,如“%.ysf.com”、“192.168.1.%”等

* identified by:用戶設置用戶的密碼,若省略,則用戶的密碼爲空

    使用grant語句授權的用戶記錄,會保存到mysql庫中的user、db、host、tables_priv等相關表中,無須刷新即可生效


2. 查看權限

    show grants語句:專門用來查看數據庫用戶的授權信息,通過for子句可指定查看的用戶對象,語句格式如下:

show grants for 用戶名@來源地址



3. 撤銷權限

    revoke語句:用戶撤銷指定用戶的數據庫權限,撤銷權限後的用戶仍可連接到MySQL服務器,但禁止執行對應的數據庫操作,語句格式如下:

revoke 權限列表 on 數據庫名.表名 from 用戶名@來源地址

楊書凡42.png

    若希望瞭解更多的MySQL語句的知識,可參閱MySQL的在線參考手冊



數據庫的備份與恢復

    MySQL的備份可以採用多種方式

方式1:直接打包數據庫文件夾/usr/local/mysql/data

楊書凡41.png


方式2:使用專用的導出工具,如MySQL自帶的傾倒工具mysqldump

(1)備份數據庫

命令格式如下:

[root@localhost ~]# mysqldump [選項] 庫名 [表名1] [表名2] … > /備份路徑/備份文件名         //備份指定庫中的部分表
[root@localhost ~]# mysqldump [選項] --databases 庫名1 [庫名2] … > /備份路徑/備份文件名         //備份一個或多個庫(包含其中所有表)
[root@localhost ~]# mysqldump [選項] --all-databases  > /備份路徑/備份文件名                //備份MySQL服務器中所有的庫

楊書凡43.png


(2)恢復數據庫

命令格式如下:

[root@localhost ~]# mysql [選項] [庫名] [表名] <  /備份路徑/備份文件名

楊書凡44.png

    當備份文件只包含表的備份時,導入時,必須指定庫名,且庫必須存在

    當備份文件包含完整的庫信息時,導入時,無須指定庫名    



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