zoukankan      html  css  js  c++  java
  • MySQL用户管理

          主要总结MySQL进行用户管理的基本实现,包含MySQL登录,添加用户,删除用户,为用户分配权限,移除某用户的权限,修改密码,查看权限等基本操作,所有命令均亲测实现。本博文是本人的劳动成果所得,在博客园总结分享,欢迎转载。在没有作者的书面说明的情况下,必须保留本段声明。作者:itRed  邮箱:it_red@sina.com   博客链接:http://www.cnblogs.com/itred   GitHub链接:http://github.com/itred

    一、登录MySQL

      命令格式:mysql  –u(用户名)  –p(密码)

      mysql>mysql –uroot –p123456

     二、创建用户

      一般用的是insert方式进行添加用户,并且在添加时就指定了登录密码,但是就我而言,采用insert方式会报以下的错误,虽然仍可以实现,但是需要修改某个配置文件。反而显得比较麻烦!因此采用create命令会显得相当简便,实用!

      如果采用这个命令:mysql> insert into user(host,user,password) values("localhost","red",password("123456"));则会在执行过程中报错如下:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value。。。

      采用这个create则可以实现,命令格式:create user  (用户名);

      mysql>create user red      该命令为red用户创建登录密码

      为red用户设置登录时所需要的密码,命令格式:

      update mysql.`user` u SET u.`Password` = PASSWORD(登录密码) WHERE u.`User`=(用户名) ;

      FLUSH PRIVILEGES;  //使改动生效;必须要加上的

      mysql>UPDATE mysql.`user` u SET u.`Password` = PASSWORD("123456") WHERE u.`User`='red' ;

          mysql> FLUSH PRIVILEGES;

    三、权限分配

      基本常用权限操作包含:select,delete,update,create,drop等。

      授权所有权限给指定用户:

      命令格式:grant all privileges on 数据库.* to 用户名@localhost identified by用户密码;

      mysql> grant all privileges on pythondb.* to red@localhost identified by '123456';

      授权部分权限给指定用户:

      命令格式:grant select,update on数据库.* to 用户名@localhost identified by '123456';

      mysql> GRANT select,update ON pythondb.* TO 'red'@'localhost' IDENTIFIED BY '123456';

    注释:

      @localhost 本地访问

      @"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

    此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

    四、删除用户

      mysql>Delete FROM user Where User='test' and Host='localhost';

      mysql>flush privileges;

      删除账户及权限:mysql>drop user 用户名@'%';

                mysql>drop user 用户名@ localhost;

    五、修改指定用户的登录密码

      mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";

      mysql>flush privileges;

    六、插销权限

      命令格式:revoke 权限 on 数据库.表 from '用户名'@'登录主机';//将to改为from

        mysql>revoke all on *.* from ’red’@’%’

    七、查看权限

      命令格式:show grants;//自己

        mysql>show grants for red@localhost;//指定用户指定host

       权限

    表列名称

    注释

    使用范围

    select

    Select_priv

    从一张表中检索

    insert

    Insert_priv

    把一条新纪录插入到一张存在的表中

    update

    Update_priv

    更新已存表中行的列字段

    delete

    Delete_priv

    删除表中的记录

    create

    Create_priv

    创建新的数据库和表

    数据库、表、索引

    drop

    Drop_priv

    抛弃(删除)已经存在的数据库和表

    数据库、表

    reload

    Reload_priv

    再读入授权表

    服务器管理

    shutdown

    Shutdown_priv

    可能被滥用(通过终止服务器拒绝为其他用户服务)

    服务器管理

    process

    Process_priv

    查看当前执行的查询的普通文本,包含设定或改变口令查询

    服务器管理

    file

    File_priv

    在服务器上读取任何可读的文件到数据库

    服务器上的文件存取

    grant

    Grant_priv

    把自己的权限授权给其他用户

    数据库、表

    reference

    Reference_priv

    打开或关闭记录文件

    数据库、表

    alter

    Alter_priv

    改变表格,用于通过重新命名表来推翻权限系统

    index

    Index_priv

    创建或删除索引

      作者:itRed
      博客:http://itred.cnblogs.com
    GitHub:https://github.com/itRed 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段说明,
    且在文章明显位置给出原文链接,否则保留追究法律责任的权利。


  • 相关阅读:
    C++中new申请动态数组
    iOS 9之3D Touch功能
    在xcode找不到发布证书
    iOS 企业版 打包
    iOS证书详解--转载
    Failed to load the JNI shared library jvm.dl
    Xcode7.3打包ipa文件 报错和解决
    更新mac系统和更新到Xcode7.3版本出现的: cannot create __weak reference in file using manual reference counting
    Sun jdk, Openjdk, Icedtea jdk关系
    terminal color
  • 原文地址:https://www.cnblogs.com/itred/p/4835095.html
Copyright © 2011-2022 走看看