• MySQL索引 / 备份 / 权限设置


    索引
    索引的树形结构,快速找到对应的叶子节点,从硬盘全部读取到内存
    添加索引:
     添加主键索引(聚集索引):
         创建的时候添加:添加索引的时候要注意,给字段里面数据大小比较小的字段添加,给字段里面的数据区分度高的字段添加
    聚集索引的添加方式(每个表中有且只有一个,在设计数据库时添加,建表时效率高)
    Create table t1(
         Id int primary key);
    Create table t2(
         Id int
         Primary key(id));
    创建完表之后添加
    Alter table t1 add primary key(id);
    删除
    Alter table t1 drop primary key;
     辅助索引:查询时为用到主键索引对应的字段,为了加速查询采取辅助索引
    唯一索引
    Create table t1(
         Id int unique);
    Create table t2(
         Id int
       unique key(id));
    
    
    创建完表之后添加
    Alter table s1 add unique key u_email(email);
    删除   1)alter table s1 drop index u_email;
              2)drop index uni_name on t1;
    普通索引
    Create table t1(
         Id int,
         Index index_name(id));
    Create index index_name on s1(id);
    Alter table s1 add index index_s1(name)   --建表后增加辅助索引
    删除:    1)drop index index_s1 on s1;
               2)Alter table s1 drop index u_email;
    保证查询速度,最好在数据上进行4则运算,不要再字段上进行运算
    联合索引与覆盖索引
    和普通索引享同,就是加多个索引字段(最左匹配特性)
    create table t1(
                Id int,
                Name char(10),
                Unique key index_name(id,name)
    ); 
    将数据大小小的,区别度高的字段,放到最前面
    Where id=10,name=’xxx’;
    Where name = ‘xxxx’;用不到联合索引 

    Sql优化神器explain
    Explain + 查询语句 ; (预执行)
    返回语句的查询情况(rows…)
    有索引查询

       无索引查询

    
    
     
    数据备份(逻辑备份,物理备份)
    备份: C:Usersgrace>Mysqldump -h 127.0.0.1 -P 3306 -u root -p12345 db1 > C:UsersgraceDesktoppythonfdb1.sql 
    恢复备份: C:Usersgrace>Mysql -h 127.0.0.1 -P 3306 -u root -p12345 db1 < C:UsersgraceDesktoppythonfdb1.sql 
    -B参数(直接恢复,不需要重新创建库)
    多个库备份,直接空格连接即可
    备份: C:Usersgrace>Mysqldump -h 127.0.0.1 -P 3306 -u root -p12345 -B db1 db2 > C:UsersgraceDesktoppythonfdb1.sql  
    恢复备份: C:Usersgrace>Mysql -h 127.0.0.1 -P 3306 -u root -p12345 < C:UsersgraceDesktoppythonfdb1.sql   
    创建用户,指定权限(权限管理)
    1. 创建用户
    --指定ip的用户登录
    create user 'grace'@'192.168.1.1' identified by '123';
    --指定ip开头的用户登录
    create user 'grace'@'192.168.1.%' identified by '123';
    --指定任何ip的用户登录
    create user 'grace'@'%' identified by '123';
    2. 删除用户
    Drop user 'username'@'IP';
    3. 修改用户
    Rename user 'username'@'IP' to 'newname'@'newIP';
    4.    修改密码
    set password for 'username'@'IP'=Password('newpwd');
    5.    修改权限
    
    
    --查看权限
    show grants for 'username'@'IP';
    --授权用户仅对db1.t1文件有查询插入和更新的操作
    grant select,insert,update on db1.t1 to 'username'@'%';
    --表示文件所有权限
    grant all privileges on db1.t1 to 'username'@'%';
    --表示用户对所有数据库中文件有任何操作
    grant all privileges on *.* to 'username'@'%';
    
    --取消权限
    --取消用户对db1的t1文件的任意操作
    revoke all on db1.t1 from 'username'@'%';
    --取消用户对db1所有表的权限
    revoke all on db1.* from 'username'@'%';
    --取消用户的所有表权限
    revoke all privileges on *.* from 'username'@'%';
    Flush privileges;   # 操作完刷新生效
     
    
    
  • 相关阅读:
    Spring优雅关闭之:ShutDownHook
    RocketMQ一直打印RocketmqRemoting closeChannel: close the connection to remote address[] result: true
    MVC中使用内建的HTML辅助方法产生表单元素提交表单与button按钮事件的陷阱
    js代码生成form,解决mvc的url参数过长问题
    jQuery中关于height,innerWidth与outerWidth的区别
    Chrome和Firefox浏览器执行new Date() 函数传参数得到不同结果的陷阱
    SQL时间段查询、分页、in字符串正则拆分
    JAVA初始化文件代码
    Base64加密URL、解密URL
    Spring XML model validation
  • 原文地址:https://www.cnblogs.com/gracenana/p/10305770.html
Copyright © 2020-2023  润新知