美文网首页
索引;账户管理

索引;账户管理

作者: Ancestor楠 | 来源:发表于2020-02-24 11:32 被阅读0次

    索引是什么

    索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。

    更通俗的说,数据库索引好比是字典前面的目录,能加快数据库的查询速度

    索引目的

    索引的目的在于提高查询效率

    视图和索引的目的:方便查找

    原理

    通过不断的缩小想要获得数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是我们总是通过同一种查找方式来锁定数据。

    哪些情况需要创建索引

    数据量很大而且这个字段经常查

    查询添加索引与不添加索引的效率

    -- 开启运行时间监测:

    set profiling=1;

    -- 查找第1万条数据ha-99999

    select * from test_index where title='ha-99999';

    -- 查看执行的时间:

    show profiles;

    为表title_index的title列创建索引:

    createindextitle_indexontest_index(title(10));

    执行查询语句:

    select*fromtest_indexwheretitle='ha-99999';

    再次查看执行的时间

    showprofiles;

    数据库的索引(分段查询)

    B树

    索引的使用

    -- 查看索引

    show   index  from  表名;

    -- 创建索引

    如果指定字段是字符串,需要指定长度,建议长度与定义字段时的长度一致

    字段类型如果不是字符串,可以不填写长度部分

    create  index索引  名称 on  表名(字段名称(长度))

    -- 删除索引:

    drop  index  索引名称  on  表名;

    账户管理

    目的:保证数据库的安全性和稳定性

    注意:

    1)进行账户操作时,需要使用root账户登录,这个账户拥有最高的实例级权限

    2)通常都使用数据库级操作权限

    授予权限:

    1、查看所有用户

    所有用户及权限信息存储在mysql数据库的user表中

    mysql不能随便使用 user表--root信息

    查看user表的结构

    desc user;

    select user,host from user; #前面user,host字段,后面的user是表

    user的一列----可以登录mysql的用户

    host--可以通过哪个地方登陆

    localhost---只能在本地电脑登录(想登录其他人的,知道密码也不能登录)

    root-localhost---往里面添加新的用户

    host一列中的%表示可以在任何地方可以登录

    authentication_string表示密码,为加密后的值

    2、创建账户&授权

    创建的前提:必须以root管理员账户登录

    在公司是被授权,尽量不直接用root用户

    -- 创建账户并授予所有权限

    grant select on aashford.* to 'laoweng'@'localhost' identified by 'xxxx';

    只授予了查询权限,更新,删除都不可以

    创建一个laoli的账号,密码为12345678,可以任意电脑进行链接访问, 并且对aashford数据库中的所有表拥有所有权限

    grant  all  privileges  on  aashford.*  to   "laoli"@"%" identified by"  12345678";

    账户操作

    1. 修改权限

    grant   权限名称  on  数据库   to   账户@主机  with  grant   option;

    -- 刷新权限

    flush privileges;

    2、修改密码

    使用root登录,修改mysql数据库的user表

    使用password()函数进行密码加密

    update  user  set  authentication_string=password('新密码')  where  user='用户名';

    注意修改完成后需要刷新权限

    刷新权限:flushprivileges

    3、远程登录慎用

    数据库别用远程登录,用SSH链接(几乎无法破解)

    4.、删除账户

    语法1:使用root登录(推荐使用)

    drop  user  '用户名'@'主机';

    例:drop  user  'laoweng'@'%';

    语法2:使用root登录,删除mysql数据库的user表中数据

    delete  from  user  where  user='用户名';

    例:delete  from  user  where  user='laoweng';

    -- 操作结束之后需要刷新权限

    flush privileges

    相关文章

      网友评论

          本文标题:索引;账户管理

          本文链接:https://www.haomeiwen.com/subject/tefmqhtx.html