MySQL数据库-------索引(Index)、权限管理和备份

索引(Index)

  • 索引是帮助MySQL高效获取数据的数据结构,索引在小数据量的时候,作用不大,但是在大数据的时候作用非常明显

索引的分类

  • 在一个表中,主键索引只能有一个,唯一索引可以有多个
  • 主键索引(primary key):唯一的标识,主键不可重复,只能有一个列作为主键
  • 唯一索引(unique key):避免重复的列出现,唯一索引可以重复,多个列都可以标识唯一索引
  • 常规索引(key/index):默认的,index,key关键字来设置
  • 全文索引(FullText):在特定的数据库引擎下才有,可以快速定位数据

索引原则

  • 索引不是越多越好
  • 不要对进程变动数据加索引
  • 小数据量的表不需要索引
  • 索引一般加在常用来查询的字段上

权限管理和备份

权限管理(grant)

  • 本质读表进行增删改查操作
--创建用户:create user 用户名identified by '密码'
create user yangguang identified by '123456'

--修改密码(修改当前用户密码)
set password =password('123456')
--修改密码(修改指定用户密码)
set password for yangguang=password('123456')

--重命名:rename user 原名字 to 新名字
rename user yangguang to yangguang1

--用户授权 ALL Privileges:全部的权限 库.表
--ALL privileges除了不能给别人授权,其他的权限都有
grant all privileges on *.* to yangguang1

--查询权限
show grant for yangguang1 --查看指定用户的权限

--撤销权限 revoke 权限
revoke all privileges on *.* from yangguang1

--删除用户
drop user yangguang1

MySQL备份

  • MySQL数据库备份的方式

    • 直接拷贝物理文件
    • 在Sqlyog等可视化工具中手动导出
    • 命令行导出 mysqldump
    --导出单表
    --mysqldump -h 主机 -u 用户名 -p 密码 数据库 表名 > 物理磁盘位置/文件名
    mysqldump -hlocalhost -uroot -p123456 school student >D:/b.sql
    
    --导出多表
    --mysqldump -h 主机 -u 用户名 -p 密码 数据库 表1 表2 表3 > 物理磁盘位置/文件名
    mysqldump -hlocalhost -uroot -p123456 school student1 student2 student3 >D:/b.sql
    
    --导出数据库
    --mysqldump -h 主机 -u 用户名 -p 密码 数据库>物理磁盘位置/文件名
    mysqldump -hlocalhost -uroot -p123456 school >D:/c.sql
    
    --导入
    --登录的情况下,切换到指定的数据库
    --source 备份文件
    source d:/a.sql
    
    --未登录
    mysql -u用户名 -p密码 库名<备份文件
    

猜你喜欢

转载自blog.csdn.net/insist_to_learn/article/details/112033988