您的位置:首页 > 数据库 > MySQL

Mysql用户结构,用户管理,权限管理

2016-07-03 11:53 483 查看
 一  Mysql用户管理

    1>用户概念  用户@host

       host 表示允许客户端连接的ip地址  

            举例 :localhost,192.168.6.10,192.168.6.*,%[代表所有ip都可以访问]

       username

    2>新建用户 

       create user 用户名@允许访问的主机名 identified by '密码';

       --如果不指定主机名 默认为 %

    3>删除用户    

       drop user 用户名@被允许的主机名

       --如果没有指定主机名 删除时可以不指定主机名 默认为%

       --如果指定了主机名  删除时 必须指定主机名 才能删除

    4> 修改密码

           第一种方式:登陆用户之后修改

          set password for 用户名=password('密码');

       第二种方式:登陆用户之后修改

           user mysql;

           update user for password=password('密码') where user='用户';

           flush privileges;

       第三种方式:不登陆用户,直接修改

          MySQLadmin -uroot -proot password 密码(不需要单引号引起来)

       第四种方式:

          无密码登陆

          修改my.ini在[mysqld]  

          添加一行 skip-grant-tables

二 权限管理

          分为 用户权限,数据库权限,表权限    

           权限名:在user表中 所有的列中包含_priv的列  去掉_priv就是权限名 

           grant all [privileges] on *.* to 用户名@主机名;--最常用

           grant all on *.* to 用户名@'主机名' identified by '密码'

    1>用户权限

       grant 权限名 on *.* to 用户名@主机名    [with grant option 表示可以将被授予的权限赋予给其他用户]

       --权限数据会被写入到mysql.user表中

   2>数据库权限

       grant 权限名 on 数据库名称.* to 用户名@主机名    [with grant option 表示可以将被授予的权限赋予给其他用户]

       --权限数据会被写入到mysql.db表中    

   3>表权限  

        grant 权限名 on 数据库名称.表名 to 用户名@主机名    [with grant option 表示可以将被授予的权限赋予给其他用户]

       --权限数据会被写入到mysql.tables_priv表中    

        

   权限的大小 用户权限>数据库权限>表权限   

    

                 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: