0
点赞
收藏
分享

微信扫一扫

MySQL(18)账户管理

gy2006_sw 2022-07-27 阅读 85


MySQL(1)CentOS彻底卸载MySQL

MySQL(2-1)CentOS安装MySQL详细操作

MySQL(2-2)CentOS7系统使用Docker安装mysql数据库

MySQL(3)MySQL中的数据类型和约束

MySQL(4)数据库常见操作命令详解

MySQL(5)数据表常见的操作命令详解

MySQL(6)数据表中数据的增删改查

MySQL(7)常用的基本查询命令详解

MySQL(8)常用的条件查询命令详解

MySQL(9)查询并排序详细用法

MySQL(10)聚合查询、分组查询、分页查询

MySQL(11)连接查询

MySQL(12)自关联(以省市县数据实例详解)

MySQL(13)子查询

MySQL(14)数据库的设计

MySQL(15)视图

MySQL(16)事务

MySQL(17)索引

MySQL(18)账户管理

1、Mysql账户体系

  • 服务实例级账号
    启动一个mysqld,即为一个数据库实例,如果用户如root,拥有服务实例级奉陪的权限,name该账号就可以删除所有的数据库,连同数据库中的数据表
  • 数据库级别账号
    对特定数据库执行增删改查的所有操作
  • 数据表级别账号
    对特定表执行增删改查等所有操作
  • 字段级别账号
    对某一些表的特定字段进行操作
  • 存储程序级别账号
    对存储程序进行增删改查的操作

2、账户的操作

  • 账户简介
    用户信息都存放在mysql数据库中的user数据表中,通过如下命令可以查看当前的所有用户,其中Host显示%的含义是此用户可以从任何主机登录,而显示localhost的则表示对应的用户只能从本机登录数据库
  • MySQL(18)账户管理_mysql

  • 如下命令可以查看到用户对应的密码(加密密码)
  • MySQL(18)账户管理_数据库_02

  • 创建账户
    使用如下面命令可以创建用户,同时可以设置用户权限

grand 权限列表 on 数据库名  to  ‘用户名’@‘访问主机’  identified by ‘密码’;
# 其中权限列表为:select, insert,update,alter,dellete 等命令,如果是所有权限则为:all privileges

如:创建一个mysql用户,密码为Mysql@12#$,其只可以读 jingdong数据库下的areas表,任意机器均可访问

grant select on jingdong.areas to 'mysql'@'%' identified by 'Mysql@12#$';

MySQL(18)账户管理_用户名_03


此时查看用户列表如下

MySQL(18)账户管理_数据库_04


此时使用mysql用户连接数据库之后,发现确实只能看到jingdong数据库下的areas数据表

MySQL(18)账户管理_数据库_05

  • 修改密码
    修改密码使用如下命令:

update user set authentication_string=password('新密码') where user='用户名';
flush privileges;

如:

MySQL(18)账户管理_用户名_06

  • 授权权限
    如下命令:可以查看用户的权限

show grants for 用户名;

如下查看mysql和root的权限

MySQL(18)账户管理_mysql_07


修改权限,则使用如下命令:

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

如:

MySQL(18)账户管理_mysql_08

  • 删除账户
    删除用户使用命令如下:

drop user '用户名@主机';
或者
delete from user where user='用户名';

flush privileges;


举报

相关推荐

0 条评论