【MySql】DCL用户处理&数据库备份和还原

------------------------------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	用户: admin1@localhost
    
  2. 给 admin2 用户分配所有权限,对所有数据库的所有表

    GRANT ALL ON *.* TO 'admin2'@'%';
    -- 权限:ALL(所有) 可操作数据:*.*(所有)	用户: admin2@%
    

三、查看权限

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 文件地址;

猜你喜欢

转载自blog.csdn.net/Guai_Ka/article/details/113607926