美文网首页Oracle数据库管理之道程序员
<入门级>Mysql账户管理(账户的添加,授权,改密

<入门级>Mysql账户管理(账户的添加,授权,改密

作者: zhaoolee | 来源:发表于2017-08-24 23:02 被阅读93次
    Mysql账户管理入门

    可以这样讲,能否对数据库的账户进行基本的管理,区分"小白"和"老鸟"的一个衡量标准.

    Mysql数据库管理系统中,root用户拥有最高权限(与Linux类似),但不能让每一名开发者都拥有这么高的权限,所以要对不同级别的使用者进行相应的授权.

    Mysql的用户权限信息都存储在数据库mysql中的user表中;

    坦率的讲…普通程序员,根本用不到这方面的知识

    查看已有的数据库账户

    • 1.登录数据库
      • mysql -uroot -p
    • 2.进入mysql数据库
      • use mysql;
    • 3.查看已有账户信息(可登录的主机ip,用户名,加密后的密码)
      • select host,user,authentication_string from user;
    账户信息

    创建新用户:

    语法:

    • grant 权限列表 on 授权的数据(数据库,数据表) to "用户名"@"主机名" identify by "密码";
    权限关键词 作用 级别
    create 创建数据库 数据库级别操作(高)
    alter 创建数据表 数据表级别操作(中)
    drop 删除数据表 数据表级别操作(中)
    insert 往表中插入数据 数据级别操作(低)
    update 更新表中数据 数据级别操作(低)
    delete 删除表中数据 数据级别操作(低)
    select 读取表中数据 数据级别操作(低)

    示例:

    • grant all privileges on jd.* to "Mike"@"%" identify by "mike111";

    • 最后刷新权限flush privileges

    将数据库jd的完整权限,授权给新用户Mike,新用户可从任何主机登录数据库,Mike的密码为"mike111"

    撤销用户权限(root用户操作)

    语法

    • revoke 权限列表 on 授权的数据(数据库,数据表) from "用户名"@"主机名";

    示例

    • revoke insert on jd.* from "Mike"@"%";

    撤销用户"Mike"往数据表中插入数据的权限

    • 最后刷新权限flush privileges

    修改账户密码("用户名和密码"都"区分"大小写):

    用户无需登录,即可修改自己的密码(以为Mike修改密码为例):

    1. 打开终端,输入mysqladmin -uMike -pmike321
    2. 回车
    3. 输入旧密码
    4. 新密码"mike321"生效

    root用户修改下属用户的密码(需要root用户登录):

    root改密码的本质是修改mysql数据库中user表中字段authentication_string中的值

    密文

    密码的密文由mysql的内置函数password产生,password函数可接收"明文密码"字符串,产生"密文字符串",root修改密码也就是先使用内置函数password产生密文,然后使用新密文替换旧密文.密码修改完成!

    语法:

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

    示例:

    • update user set authentication_string = password("mike321") where user="Mike";

    • 最后刷新权限flush privileges

    删除用户(root权限):

    简单方式

    语法

    • drop user "用户名"@"主机";

    示例

    drop user "Mike"@"%";

    直接删user表中的记录(如果第一种删不掉,就用这种方式)

    • 语法
    • delete from 表名 where user = "用户名";

    • 示例
      delete from mysql.user where user="Mike";


    坦率的讲,小白学数据库的账户管理,无非就是"赚着卖白菜的钱,却操着卖白粉的心",普通程序员,也基本用不到这方面的知识,这是项目的管理者才会用到的东西.

    相关文章

      网友评论

        本文标题:<入门级>Mysql账户管理(账户的添加,授权,改密

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