• 44 存储引擎 慢日志 权限


    存储引擎

      create table db1 ( 

      id int auto_increment primary key,

      name varchar(32) not null default ''

    )engine=Innodb charset=utf8;

    分类(----------------------------------------重点)

    Innodb

    1.默认版本5.5以上

    2.支持事务

    3.不支持全文索引

    MyIsam

    1.默认版本5.5以下 5.3版本

    2.不支持事务

    3.支持全文索引

    memory

    全文索引插件;

    Sphinx

    索引;

    作用:加快查询的速度

    类似于一个目录

    索引分类

    1.主键索引

      加快查询 + 不能重复  +  不能为空    primary key 

    2.唯一索引

      加快查询 + 不能重复  + 可以为空    unipue(列名)

    3.联合唯一索引

      加快查询  +  不能重复  unipue (列名1,列名2)

    4.普通索引

      加快查询    index('列名')

    创建:

    创建主键索引

    第一种;

     create table db2 (

      id int auto_increment primary key ;

      name varchar(32) not null

    )engine=Innodb charset=utf8;

    第二种:

      alter table db2 change id(旧列名) id(新列名)  int auto_increment primary key;

    唯一索引;

    第一种;

     create table db2 (

      id int auto_increment primary key ;

      name varchar(32) not null,

      unique(name)

    )engine=Innodb charset=utf8;

    第二种:

     create unique  index 索引名称(ix_name) on 表名(t1)(name);

     create unique index    索引名称(ix_name,age) on 表名(t1)(name,age); 

    普通索引

    第一种;

     create table db2 (

      id int auto_increment primary key ;

      name varchar(32) not null,

      index ix_name(name)

    )engine=Innodb charset=utf8;

    第二种:

     create unique  index 索引名称(ix_name) on 表名(t1)(name);

    删除

      drop 索引名称(ix_name) on 表名 (t1)

    场景:
    使用频繁的列上加一个索引

    索引的缺点:

    版本5.3以下:
    删除和修改的速度就变慢了

    版本5.5以上:
    删除和修改的速度不是特别的慢

    create table t12(
    id int auto_increment primary key,
    name varchar(32) not null default '',
    email varchar(32) not null default ''
    )engine=Innodb charset=utf8;


    索引的使用:

    explain 工具

    查看sql语句是否用的上索引, 或者查看sql执行效率的工具

    给执行的SQL语句出一个报告, 通过此报告来判断sql语句的执行效率和效果

    ES (elasticsearch )
    SQL语句的规则:

    - 不建议使用 like 进行搜索
    - 组合索引最左前缀
    如果组合索引为:(name,email)
    where name and email -- 使用索引
    where name -- 使用索引
    where email -- 不使用索引

    慢日志查询(slow log):

    日志文件: 记录了执行速度特别慢的SQL语句

    开启的步骤:
    1. show variables like '%query%';

    2. set global long_query_time = 1; 设置慢查询的时间
    3. slow_query_log = ON
    4. slow_query_log_file = E:programmysql-5.6.44-winx64dataoldboy-slow.log

    普通日志记录(general log):

    SQL审计 (记录sql的操作语句)

    show variables like '%general%';
    +------------------+------------------------------------------------+
    | Variable_name | Value |
    +------------------+------------------------------------------------+
    | general_log | ON |
    | general_log_file | E:programmysql-5.6.44-winx64dataoldboy.log |
    +------------------+------------------------------------------------+
    set global general_log = ON;


    权限管理:

    创建用户
    create user '用户名'@'IP地址' identified by '密码';
    creaee user 'zekai'@'192.168.1.123' identified by '123qwe';
    creaee user 'zekai'@'192.168.1.%' identified by '123qwe';
    create user 'zekai'@'%' identified by '123qwe';

    删除用户
    drop user '用户名'@'IP地址';
    修改用户
    rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

    修改密码
    set password for '用户名'@'IP地址' = Password('新密码')

    授权:
    grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权

    grant select on db1.* to 'zekai'@'%';
    grant select on *.* to 'zekai'@'%';
    grant select, insert, delete on db1.* to 'zekai'@'%';

    记住:
    flush privileges;

    \\\\\\\\\

  • 相关阅读:
    SpringBoot集成JWT
    MongoDB学习入门
    Docker入门笔记
    商品分类(递归子目录)接口开发笔记
    深入理解java虚拟机
    -XX:+HeapDumpOnOutOfMemoryError
    使用kettle报Invalid byte 1 of 1-byte UTF-8 sequence异常
    kettle学习笔记(四)——kettle输入步骤
    eclipse maven项目,如何导出使用的依赖jar包
    kettle学习笔记(二)——kettle基本使用
  • 原文地址:https://www.cnblogs.com/komorebi/p/11042081.html
Copyright © 2020-2023  润新知