数据库: 数据备份 权限管理 索引

一.数据备份


都要在退出mysql环境的情况下

1.数据的导出

1.备份表:

格式: mysqldump -uroot -p 库名 表名>表名.sql

先进入数据库找到要备份的表的位置,website库下的user表
在这里插入图片描述
退出数据库,进行备份,备份到当前路径下
在这里插入图片描述
备份后在文件夹中的位置
在这里插入图片描述
备份成功
在这里插入图片描述

2.备份库:

格式: mysqldump -uroot -p 库名>备份文件名.sql
步骤同上
在这里插入图片描述
备份成功
在这里插入图片描述


2.数据的导入

格式: Mysql -uroot -p 库名 < 备份文件地址.sql

1.导入库 (需要创建库才能导入)

先创建库:
在这里插入图片描述
导入前要退出数据库
在这里插入图片描述
导入成功
在这里插入图片描述
2.导入表
导入表之前先删除原有的表

格式: drop table 表名;
在这里插入图片描述
导入的格式一样
在这里插入图片描述
导入成功
在这里插入图片描述

3.删除库
格式: drop database 库名;
在这里插入图片描述


二.权限管理

1.用户设置

用户:连接的账户

权限:允许用户操作的范围

组:权限的集合


2.修改密码

查看用户信息:

Mysql 有一个默认的mysql库 有一个user表,这个表中存放的就是咱们用户信息
在这里插入图片描述
在这里插入图片描述
登录用户用户名及密码
在这里插入图片描述
在这里插入图片描述
1.设置密码

切换到mysql库中,执行update user set authentication_string=password(‘密码’) where User=’root’ and host=’localhost’;
在这里插入图片描述
2.设置完密码需要重新启动服务
在这里插入图片描述
3.然后在去连接数据库 此时会发现不输入密码连接会失败,使用密码登录就ok了
在这里插入图片描述


忘记密码


1.修改配置文件 在mysqld最后一行添加
skip-grant-tables 跳过权限验证

在这里插入图片描述
2.重启服务
不用输入密码可以直接登录到数据库
执行修改密码操作
在这里插入图片描述
3.把配置文件修改回来
在这里插入图片描述
4.重启服务 使用新密码登录即可
在这里插入图片描述


3.创建用户

格式: create user ‘用户名’@‘ip地址’ identified by '密码’

创建用户名为lisi 任何位置都可以登录:
Create user ‘lisi’@’%’ identified by ‘123456’
在这里插入图片描述
创建用户wangwu 只能本地登录的用户
Create user ‘wangwu’@’localhost’ identified by ‘123456’;
在这里插入图片描述

创建用户wzy只能在ip地址为10.10.107.85的设备上链接数据库
create user ‘wzy’@‘10.10.107.85’ identified by ‘123456’;
在这里插入图片描述


Window:
Ipconfig 查看ip

在这里插入图片描述


4.权限管理

给用户授权允许远程连接
1.select 查询权限

grant select on 库名.表名 to 用户名@‘地址’

2.insert 插入权限

grant insert on 库名.表名 to 用户名@‘地址’

3.update 更新权限

grant update on 库名.表名 to 用户名@‘地址’

4.delete 删除权限

grant delete on 库名.表名 to 用户名@‘地址’

5.create 创建权限

grant create on 库名.表名 to 用户名@‘地址’

6.*.*所有库所有表的所有权限
格式: grant 权限 on 库名.表名 to 用户名@‘地址’

Grant select on \*.\* to 用户名@‘地址’

给lisi添加权限
给李四添加 所有库所有表的 查询权限

Grant select on *.* to ‘lisi’@’%’

给远程连接的zhaoliu用户添加对demo1数据库下所有表的所有权限

Grant all on demo1.* to ‘zhaoliu’@’%’

5.删除用户:

格式:drop user ‘用户名’@‘ip地址’
在这里插入图片描述
在这里插入图片描述
删除成功
在这里插入图片描述


三.索引

1.索引定义:

一种高效获取数据的存储结构,类似于子字典的目录


2.索引的作用:

可以提升查询数据的效率 减少io的操作


3.索引的使用

创建索引时,数据库会额外的创建一张表,来维护索引,会占用磁盘 的资源,一般索引的空间比数据大
索引一般支持的数据结构,b+tree b-tree 哈希


4.b+tree的基本结构及特点

在这里插入图片描述
B+tree的特点:

1.有三层 分别是 根节点,子节点和叶子节点
2.对称
3.根节点不存储数据,数据存储在叶子节点
4.叶子节点同时保存了下一个数据节点的地址


5.索引的优缺点

1.提升数据的查询速度,减少io操作

2.缺点维护成本高,会降低其他操作的执行速度

3.添加索引可以增加查询的速度,但是不是索引越多越好(索引越多占据磁盘 的资源越大,而一般索引的空间比数据大)

4.添加索引一般 是给经常用作where条件的字段添加

最左原则:
Select * from user where username=’zhansgan’ and age=18;


6.索引分类

1.普通索引:index 可以为空 可以重复 当我们使用物理外键时就默认给该字段添加了普通索引

2.唯一索引:unique 可以为空 不能重复
3.主键索引:primary key 不能为空且唯一
4.多列索引:index() 将多个字段绑定到一起添加一个索引


7.索引的操作

1.添加索引:

格式: alter table 表名 add 索引类型 【索引名】(字段名);

如果不指定索引的名字,那么索引名就以字段名为准

2. 删除主键索引的格式:

删除主键索引要先将主键索引的自增属性删除 然后才能删除主键索引

Alter table 表名 drop primary key;

3. 查看索引:

格式: show index from 表名;

4. 删除索引:
格式: Drop index 索引的名字 on 表名;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值