mysql用户管理及权限管理

11 篇文章 1 订阅

在mysql中,是由对应的host与user共同组成主键来区分用户。
user:代表用户名
host:主机名。如果host使用 * 代表所有用户都可以访问。

创建用户

直接使用root用户在mysql.user表中插入记录(不推荐)
专门创建用户的sql指令
基本语法:create user 用户名 identified by ‘明文密码’;
用户:用户名@主机地址
主机地址:‘’ or ‘%’

删除用户

基本语法:drop user 用户名@host;
修改用户密码
mysql中提供多种修改的方式:基本上都必须使用对应提供的一个系统函数:password(),需要靠改函数对密码进行加密处理。
使用专门的修改密码指令
基本语法:set password for 用户@主机 = password(‘新的明文密码’);

set password for root@localhost = password('root');

权限管理

数据权限:增删改查(insert/delete/update/select)
结构权限:结构操作(create/drop)
管理权限:权限管理(create user/grant/revoke):通常只给管理员此权限

  • 授予权限(root用户才能授予权限):grant 基本语法:grant 权限列表 on 数据库/.表名/ to 用户;
    权限列表:使用逗号分隔,但是可以使用all privileges代表全部权限
    数据库.表名:可以是单标(数据库名字.表名),可以是具体某个数据库(数据库.*),也可以整库(*.*) 不需要刷新

    grant select on my_db.my_table to 'user1'@'%';
    
  • 取消权限(root用户才能取消权限):revoke 基本语法:revoke 权限列表 on 数据库/.表名/ to 用户;
    权限列表:使用逗号分隔,但是可以使用all privileges代表全部权限
    数据库.表名:可以是单标(数据库名字.表名),可以是具体某个数据库(数据库.*),也可以整库(*.*) 不需要刷新

 revoke select on my_db.my_table to 'user1'@'%';
  • 刷新权限:flush flush:刷新,将当前用户的权限操作,进行刷新,将操作的具体内容同步到具体的表中 基本语法:flush
    privileges;

解决root密码丢失

  1. 停止服务:cmd中使用命令 net stop mysql
  2. 重启服务:cmd中使用命令 mysqld.exe --skip-grant-tables //启动服务器但是跳过权限
    当光标闪烁时表示服务端启动成功
  3. 当前启动的服务端没有权限概念:非常危险,任何客服端,不需要任何用户信息都可以直接登录,而且是root权限;
  4. 新开客户端,使用mysql.exe登录即可重置密码
  5. 关闭服务器(首先关闭光标闪烁的命令窗口,然后在任务管理器中找到mysqld.exe,结束这个进程),重启mysql服务器
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值