账户管理

MySQL账户体系:根据账户所具有的权限的不同

    MySQL的账户可以分为以下几种

        服务实例级账号:启动了一个mysqld,即为一个数据库实例;如果某用户如root,拥有服务实例级分配的权限,那么该账号就可以删除所有的数据库、连同这些库中的表

        数据库级别账号:对特定数据库执行增删改查的所有操作

        数据表级别账号:对特定表执行增删改查等所有操作

        字段级别的权限:对某些表的特定字段进行操作

        存储程序级别的账号:对存储程序进行增删改查的操作

    账户的操作主要包括创建账户、删除账户、修改密码、授权权限等


注意:

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

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


授予权限

需要使用实例级账户登录后操作,以root为例

主要操作包括:

    查看所有用户

    修改密码

    删除用户


查看所有用户

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

    查看user表的结构

        desc user;


主要字段说明:

    Host 表示允许访问的主机

    User 表示用户名

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


查看所有用户

    select  host , user , authentication_string  from  user;


创建账户、授权

        需要使用实例级账户登录后操作,以root为例

        常用权限主要包括:create、alter、drop、insert、update、delete、select

        如果分配所有权限,可以使用 all privileges

可以操作python数据库的所有表,方式为 : jing_dong.*

访问主机通常使用 百分号% 表示此账户可以使用任何ip的主机登录访问此数据库

访问主机可以设置成 localhost或具体的ip,表示只允许本机或特定主机访问


 创建账户&授权

    grant  权限列表  on  数据库  to  '用户名' @ '访问主机'  identified  by  '密码';

        例:
            grant  select  on  jing_dong.*  to  'laoweng' @ 'localhost'  identified  by  '123456';


查看用户有哪些权限

    show  grants  for  laoweng@localhost ;


修改权限 (在root账户操作)

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

-- 刷新权限  (修改完后刷新)

    flush  privileges;


修改密码

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

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

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

    刷新权限:flushprivileges


 删除账户

        语法1:使用root登录

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

        例:

            drop  user  'laoweng' @ '%' ;

你可能感兴趣的:(账户管理)