【MySql】DCL使用者處理&資料庫備份和還原
阿新 • • 發佈:2021-02-13
------------------------------DCL(資料控制語言)------------------------------
MySql預設使用的都是 root 使用者,超級管理員,擁有全部的許可權。除了root使用者以外,我們還可以通過DCL語言來定義一些許可權較小的使用者, 分配不同的許可權來管理和維護資料庫。
一、建立使用者
CREATE USER '使用者名稱'@'主機名' IDENTIFIED BY '密碼';
引數 | 說明 |
---|---|
使用者名稱 | 建立的新使用者,登入名稱 |
主機名 | 指定該使用者在哪個主機上可以登陸,本地使用者可用 localhost |
密碼 | 登入密碼 |
主機用:%
表示 使用者可以在任意電腦登入 mysql伺服器.
建立使用者示例:
-
建立
admin1
使用者,只能在localhost
這個伺服器登入 mysql 伺服器,密碼為123456
CREATE USER 'admin1'@'localhost' IDENTIFIED BY '123456'; -- 使用者名稱:admin1 主機名:localhost 密碼:123456
-
建立 admin2 使用者可以在任何電腦上登入 mysql 伺服器,密碼為 123456
CREATE USER 'admin2'
二、使用者授權
建立好的使用者,需要進行授權
GRANT 許可權 1, 許可權 2... ON 資料庫名.表名 TO '使用者名稱'@'主機名'
引數 | 說明 |
---|---|
許可權 | 授予使用者的許可權,如 CREATE 、ALTER 、SELECT 、INSERT 、UPDATE 等。如果要授予所有的許可權則使用 ALL |
ON | 用來指定許可權針對哪些庫和表。 如果要授予所有的表庫則使用 *.* |
TO | 表示將許可權賦予某個使用者。 |
使用者授權示例:
-
給
admin1
使用者分配對 db4 資料庫中products
查詢
GRANT SELECT ON db4.products TO 'admin1'@'localhost'; -- 許可權:查詢 可操作資料:db4.products 使用者: [email protected]
-
給 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 檔案地址;