当前位置: 首页 > news >正文

MySQL中常用的用户授权操作

mysql 用户授权


1 )概述
  • 让每个应用程序,单独开一个mysql的用户权限
  • 所有mysql用户存储在 mysql库的user表中

2 ) 多种用户授权方式示例

show databases;
use mysql;select user, authentication_string, host from mysql.user;-- 创建和删除用户
-- create user '用户名'@'连接者的ip地址' identified by '密码';
create user wang@'127.0.0.1' identified by 'root123';
drop user wang@'127.0.0.1';create user zz@'127.0.0.%' identified by 'root123';
drop user zz@'127.0.0.%';
-- 以上是在某个网段内创建用户create user lee@'%' identified by 'root123';
drop user lee@'%';
-- 以上是在任意的 ip 地址下, 创建用户create user 'xx'@'%' identified by 'root123';
drop user 'xx'@'%';

3 )修改mysql用户

rename user '用户名'@'ip地址' to '新用户名'@'ip地址'

4 ) 修改mysql密码

set password for '用户名'@'ip地址' = PASSWORD('新密码');

5 )授权管理

语法

  • grant 权限 on 数据库.表 to ‘用户’@‘ip地址’

示例

grant all privileges on *.* TO 'xx'@'某ip'; 用户 xx 拥有所有数据库的所有权限
grant all privileges on studydb.* TO 'xx'@'某ip'; 用户xx 拥有数据库 studydb 的所有权限
grant all privileges on studydb.info TO 'xx'@'某ip'; 用户xx 拥有数据库 studydb中 info表的所有权限grant select on studydb.info TO 'xx'@'某ip';  用户xx 拥有数据库 studydb 中info表的查询权限
grant select, insert on studydb.* TO 'xx'@'某ip';  用户xx 拥有数据库 studydb 中info表的查询和插入权限flush privileges; -- 将数据读取到内存中,从而立即生效,这个必须要有

对于权限的解读

  • all privileges 除grant外的所有权限
  • select 仅查权限
  • select, insert 查和插入权限
  • usage 连接(登录)权限,建立一个用户,默认就会自动授予其usage权限, 无其他权限
  • alter 使用 alter table
  • alter routine 使用 alter procedure 和 drop procedure
  • create 使用 create table
  • create routine 使用 create procedure
  • create temporary tables 使用 create temporary tables
  • create user 使用 create user、drop user、rename user 和 revoke all privileges
  • create view 使用 create view
  • delete 使用delete
  • drop 使用 drop table
  • execute 使用call和存储过程
  • file 使用 select info outfile 和 load data infile
  • grant option 使用 grant 和 revoke
  • index 使用 index
  • insert 使用 insert
  • lock tables 使用 lock table
  • process 使用 show full processlist

查看授权

  • show grants for “用户”@“ip地址”
  • $ show grants for 'xx'@'localhost'

取消授权

  • revoke 权限 on 数据库.表 from ‘xx’@‘ip地址’;

  • $ revoke ALL PRILEGES on studydb.* from 'xx'@'localhost';

  • 注意

    • 这些由运维DBA统一管理
    • 为每个项目数据库创建用户
    • 并赋予相关权限,
    • 开发人员基本使用不到
http://www.lryc.cn/news/270486.html

相关文章:

  • LabVIEW开发智能火灾自动报警系统
  • Vagrant使用教程
  • 【Java】ThreadLocal原理与使用场景
  • 软件测试/测试开发丨Linux进阶命令(curl、jq)
  • 模式识别与机器学习-SVM(带软间隔的支持向量机)
  • CentOS 7 firewalld+ipset+定时任务防御ssh暴力破解——筑梦之路
  • ElasticSearch的RestClient结合Sniffer提高可用性
  • 【网络面试(2)】DNS原理-域名和IP地址的查询转换
  • 【PHP】函数array_intersect、array_diff:从数组中取出、去除指定的几个键值
  • 【华为机试】2023年真题B卷(python)-冠亚军排名-奖牌榜排名
  • MyBatisPlus之逻辑删除
  • 在macOS中搭建.NET MAUI开发环境
  • [NCTF 2022]calc
  • 【pandas_不重复项计数】
  • 菜鸟学习vue3笔记-vue hooks初体验
  • 81 使用DFS和BFS解机器人的运动范围
  • vue-springboot基于JavaWeb的家装一体化商城平台guptn
  • .NET进阶篇06-async异步、thread多线程2
  • java 方法
  • HarmonyOS 组件通用属性之通用事件 文档参数讲解(点击事件)
  • 毕业设计之开题报告
  • 【数据结构】详细剖析线性表
  • 通过数字证书对PDF电子文件进行数字签名/盖章
  • 2007~2016 年税调经纬度及其所处的省市区县乡镇数据
  • SLAM学习入门--编程语言
  • Go语言程序设计-第6章--方法
  • AI按理说应该最擅长理工,为啥先冲击文艺行业?
  • 蓝牙物联网移动硬件数据传输系统解决方案
  • Linux下Web服务器工作模型及Nginx工作原理详解
  • AJAX: 整理2:学习原生的AJAX,这边借助express框架