1. 程式人生 > 其它 >【MySql】DCL使用者處理&資料庫備份和還原

【MySql】DCL使用者處理&資料庫備份和還原

技術標籤:拉勾教育MySql

------------------------------DCL(資料控制語言)------------------------------

MySql預設使用的都是 root 使用者,超級管理員,擁有全部的許可權。除了root使用者以外,我們還可以通過DCL語言來定義一些許可權較小的使用者, 分配不同的許可權來管理和維護資料庫。

一、建立使用者

CREATE USER '使用者名稱'@'主機名' IDENTIFIED BY '密碼';
引數說明
使用者名稱建立的新使用者,登入名稱
主機名指定該使用者在哪個主機上可以登陸,本地使用者可用 localhost
如果想讓該使用者可以 從任意遠端主機登陸,可以使用萬用字元 %
密碼登入密碼

主機用:% 表示 使用者可以在任意電腦登入 mysql伺服器.

建立使用者示例:

  1. 建立 admin1 使用者,只能在 localhost 這個伺服器登入 mysql 伺服器,密碼為 123456

    CREATE USER 'admin1'@'localhost' IDENTIFIED BY '123456';
    --		使用者名稱:admin1	主機名:localhost			密碼:123456
    
  2. 建立 admin2 使用者可以在任何電腦上登入 mysql 伺服器,密碼為 123456

    CREATE USER 'admin2'
    @'%' IDENTIFIED BY '123456'; -- 使用者名稱:admin2 主機名:% 密碼:123456

二、使用者授權

建立好的使用者,需要進行授權

GRANT 許可權 1, 許可權 2... ON 資料庫名.表名 TO '使用者名稱'@'主機名'
引數說明
許可權授予使用者的許可權,如 CREATEALTERSELECTINSERTUPDATE 等。
如果要授予所有的許可權則使用 ALL
ON用來指定許可權針對哪些庫和表。
如果要授予所有的表庫則使用 *.*
TO表示將許可權賦予某個使用者。

使用者授權示例:

  1. admin1 使用者分配對 db4 資料庫中 products

    表的操作許可權:查詢

    GRANT SELECT ON db4.products TO 'admin1'@'localhost';
    -- 許可權:查詢	   可操作資料:db4.products	使用者: [email protected]
    
  2. 給 admin2 使用者分配所有許可權,對所有資料庫的所有表

    GRANT ALL ON *.* TO 'admin2'@'%';
    -- 許可權:ALL(所有) 可操作資料:*.*(所有)	使用者: [email protected]%
    

三、檢視許可權

SHOW GRANTS FOR '使用者名稱'@'主機名';

檢視許可權示例:

檢視root使用者許可權

SHOW GRANTS FOR 'root'@'localhost';

四、刪除使用者

DROP USER '使用者名稱'@'主機名';

檢視許可權示例:

刪除 admin1 使用者

DROP USER 'admin1'@'localhost';

五、查詢使用者

選擇名為 mysql的資料庫, 直接查詢 user表即可

use mysql;
SELECT * FROM USER;

------------------------------資料庫備份&還原------------------------------

備份的應用場景 在伺服器進行資料傳輸、資料儲存和資料交換,就有可能產生資料故障。比如發生意外停機或儲存介質損壞。 這時,如果沒有采取資料備份和資料恢復手段與措施,就會導致資料的丟失,造成的損失是無法彌補與估量的

命令列備份

進入到Mysql安裝目錄的 bin目錄下, 開啟DOS命令列.
在這裡插入圖片描述

-- DOS命令
mysqldump -u 使用者名稱 -p 密碼 資料庫 > 檔案路徑;

示例:執行備份, 備份db2中的資料 到 D盤的 db2.sql 檔案中

-- 存放地址:D:/db2.sql  資料庫:db2 
mysqldump -uroot -proot db2 > D:/db2.sql;

命令列恢復

恢復資料 還原 db2 資料庫中的資料
注意:還原的時候需要先建立好資料庫

use 還原的資料庫;
source sql 檔案地址;