天天看点

MySQL(六):数据库的备份(导入和导出)+索引+权限管理(修改密码,创建用户等)一、数据备份二、权限管理三、索引

一、数据备份

前提条件,以下命令全部是退出mysql环境下执行

1.数据表导出:

备份表:

mysqldump -u root -p 库名 表名 > 备份的表名.sql
           

2.数据库的导出

实际上是一次导入多张表,只不过表在一个sql文件

备份库:

mysqldump -u root -p 库名 >备份的库名.sql
           

3.数据的导入

导入库需要先创建输入库,因为实际是导入表,必须重新创入个新的数据库,然后再导入:

mysql -uroot -p 库名<备份的文件.sql
           

二、权限管理

定义 解释
用户 链接的账户
权限 语序用户操作的范围
权限的集合

1.创建用户

基本格式:

create user '用户名'@'ip地址' identified by '密码';
           

1.1创建用户名为lisi 任何位置都可以登录:

Create user 'lisi'@'%' identified by '123456';
           

1.2创建用户wangwu 只能本地登录的用户

Create user 'wangwu'@'localhost' identified by '123456';
           

1.3创建用户wzy只能在ip地址为10.10.107.85的设备上链接数据库

create user 'wzy'@'10.10.107.85' identified by '123456';
           

补充: Window查看ip地址:Ipconfig

————————————————————————————

2.给用户授权

基本格式:

grant 权限 on 库名.表名 to 用户名@'地址';
           

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

Grant select on *.* to 'lisi'@'%';
           

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

Grant all on demo1.* to 'zhaoliu'@'%';
           
MySQL(六):数据库的备份(导入和导出)+索引+权限管理(修改密码,创建用户等)一、数据备份二、权限管理三、索引

——————————————————————————————————

3.删除用户

基本格式:

drop user '用户名'@'ip地址' ;
           

——————————————————————————————————

4.修改用户密码

Mysql 有一个默认的mysql库 有一个user表,这个表中存放的就是咱们用户信息!我们的密码字符是authentication_string

MySQL(六):数据库的备份(导入和导出)+索引+权限管理(修改密码,创建用户等)一、数据备份二、权限管理三、索引

4.1修改密码步骤:

①进入数据库软件并且切换到mysql库中

②比如给root账户换个密码为123456,输入:

update user set authentication_string=password('123456') where User='root' and host='localhost';
           

③重新启动服务(注意是退出数据库后)

net stop mysql
net start mysql
           

④最后在去连接数据库 此时会发现不输入密码连接会失败,使用密码登录就ok

——————————————

4.2忘记密码怎么办

①.修改配置文件(my.cnf文件) 在mysqld最后一行添加

skip-grant-tables 跳过权限验证

MySQL(六):数据库的备份(导入和导出)+索引+权限管理(修改密码,创建用户等)一、数据备份二、权限管理三、索引

②重新启动服务(注意是退出数据库后)

net stop mysql
net start mysql
           

③登录数据库,此时不需要输入密码即可登录,执行修改密码操作

④把配置文件修改回来

⑤重启服务 使用新密码登录即可

三、索引

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

1.为什么要使用索引:

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

创建索引时,数据库会额外的创建一张表,来维护索引,会占用磁盘 的资源,一般索引的空间比数据大

索引一般支持的数据结构,b+tree b-tree 哈希

————————————b+tree的基本结构————————————

MySQL(六):数据库的备份(导入和导出)+索引+权限管理(修改密码,创建用户等)一、数据备份二、权限管理三、索引

B+tree的特点:

  • 特点:有三层 分别是 根节点,子节点和叶子节点且左右对称*
  • 根节点不存储数据,数据存储在叶子节点
  • 叶子节点同时保存了写一个数据节点的地址

2.添加索引的优缺点:

  • 优点:提升数据的查询速度,减少io操作
  • 缺点:维护成本高,会降低其他操作的执行速度

注意:添加索引可以增加查询的速度,但是不是索引越多越好

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

我们一般遵循最左原则:

Select * from user where username=’zhansgan’ and age=18;
           

3.索引的分类

索引分类 特点
普通索引 index 可以为空 可以重复 当我们使用物理外键时就默认给该字段添加了普通索引
唯一索引 unique 可以为空 不能重复
主键索引 primary key 不能为空且唯一
多列索引 index() 将多个字段绑定到一起添加一个索引

4.索引的操作

4.1添加索引:

格式:

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

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

4.2删除主键索引的格式:

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

Alter table 表名 drop primary key;
           

4.3查看索引:

格式:

show index from 表名;
           

4.4删除索引:

drop index 索引的名字 on 表名;
           

继续阅读