前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 ><入门级>Mysql账户管理(账户的添加,授权,改密,删除)

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

作者头像
zhaoolee
发布2018-04-19 10:23:57
2.6K0
发布2018-04-19 10:23:57
举报
文章被收录于专栏:木子昭的博客

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";

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.08.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 可以这样讲,能否对数据库的账户进行基本的管理,区分"小白"和"老鸟"的一个衡量标准.
  • Mysql数据库管理系统中,root用户拥有最高权限(与Linux类似),但不能让每一名开发者都拥有这么高的权限,所以要对不同级别的使用者进行相应的授权.
  • Mysql的用户权限信息都存储在数据库mysql中的user表中;
  • 坦率的讲…普通程序员,根本用不到这方面的知识
  • 查看已有的数据库账户
  • 创建新用户:
    • 语法:
      • 示例:
      • 撤销用户权限(root用户操作)
        • 语法
          • 示例
          • 修改账户密码("用户名和密码"都"区分"大小写):
            • 用户无需登录,即可修改自己的密码(以为Mike修改密码为例):
              • root用户修改下属用户的密码(需要root用户登录):
              • 删除用户(root权限):
                • 简单方式
                  • 直接删user表中的记录(如果第一种删不掉,就用这种方式)
                  • 坦率的讲,小白学数据库的账户管理,无非就是"赚着卖白菜的钱,却操着卖白粉的心",普通程序员,也基本用不到这方面的知识,这是项目的管理者才会用到的东西.
                  相关产品与服务
                  云数据库 SQL Server
                  腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档