mysql管理之安全机制

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

Mysql权限表 >> 初始化过后产生的mysql

Mysql.user    非常重要

一、用户字段

二、权限字段

三、安全字段

四、资源控制字段

 

Mysql.db  mysql.hsot

用户字段

权限字段

 

Mysql.tables_priv

Mysql.columms_priv

Procs_priv

Mysql用户管理

登录和退出mysql

实例:

Mysql -h 192.168.5.240 -P 3306  -uroot -p123 mysql -e select user,host from user

 

-h  主机名

-P 服务器端口

-u 用户名

-p 密码

-e 连接sql语句

 

\s获取当前服务器状态信息

Quit退出登录

 

 

创建用户

方法一create user语句创建

实例:create user user1@localhost identified by 123456;

 

方法二insert语句创建  不常用

实例:insert into mysql.user(user,host,password,ssl_cipher,x509_issuer,x509_subject)

Values (user2,localhost,password(123456),’’,’’);

Flush privileges;

 

方法三grant语句创建  //同时授权,最常用

 

 

实例:Grant select on * to user3@ localhost identitied by 123456;

Flush privileges;

 

 

删除用户

方法一drop user语句删除

Drop user user1@localhost;

 

方法二delect语句删除

Delect from mysql.user where user=user2 and host=localhsot;

Flush privileges;

 

修改用户密码(root修改自己密码)

方法一

Mysqladmin -u root -p password new password            //将提示输入旧密码

 

方法二

Update mysql.user set password=password(new password) where user=root and host=localhost;

Flush privileges;

 

方法三

Set password=password(new password);

Flush privileges;

 

Root修改其他用户密码

方法一

Set password for user3@localhost =password(new_password);

Flush privileges;

 

方法二

Update mysql.user set password=password(new passowrd) where user=user3 and host=localhost;

Flush privileges;

 

方法三

Grant select on * to user3@localhost identified by tianyun;

Flush privileges;

 

 

普通用户修改自己密码

Set password=password(new passowrd);

丢失root用户密码

Vim /etc/my.cnf

Skip-grant-tables   //增加这一句表示跳过授权表也就是跳过密码验证

 

保存退出

Service mysqld restart  //重启mysq服务器

 

Mysql -uroot

Update mysql.user set password=password(new password) where user=root and host=localhost;

Flush privileges;

 

 

Mysql权限管理

权限应用的顺序:

user(Y/N)==>DB==>tables_priv==>colums_priv

 

 

语法格式

grant 权限列表 on 库名.表名 to  用户名@'客户端主机'  [identified by '密码' with grant option]

1权限列表   all   所有权限(不包括授权权限)

           select update

2库名.表名  *.*  所有数据库

           数据库.*  指定数据库下的所数据对象  最常用

           数据库名称.表名称 指定数据库的指定表

3客户端主机

对象列表(为谁赋值了上面的增删改查的这些权限)

          %   所有主机

          192.168.2.%   192.168.2.段的主机

          192.168.2.8   指定主机

 

4With_option参数

Grant option          授权选项

Max_queries_per_hour;   定义每小时允许查询的查询数

Max_updates_per_hour;   定义每小时允许更新的查询数

Max_connections_per_hour; 定义每小时可以建立的连接数

Max_user_connections;    定义单个用户同时可以建立的连接数

 

实例:把pro这个数据库下的所有权限都给了李四

Grant all on pro.*  to lisi@localhost;   //db级的

Grant all on *.*  to admin1@`%` identified by tianyun;   //全局

Grant all on pro.*  to  admin2@`%` identified by tianyun with grant option;  //增加这个用户的授权权限

Grant all on bbs.user to admin4@ identified by tianyun //表级

Grant select (col1),insert(col2,col3) on bbs.user to admin@% identified by tianyun;  //列级别

 

 

 

 

查看权限:show grants for 用户名@客户端主机名  \g

实例 show grants for admin1@% \G

 

删除收回权限

Revoke 权限列表 on 对象列表 from 用户列表

Revoke all on pro.* from lisi@localhost;        //回收所有权限

Revoke delete  on pro.* from lisi@localhost;   //回收部分权限

 

注意:在日常管理中在删除用户之前应该是先删除该用户所有权限,再删除该用户,不然以后如果再创建相同的用户的话权限就还是存在的,这是不可以的

本文转自    探花无情   51CTO博客,原文链接:http://blog.51cto.com/983865387/1875834


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
MySQL底层概述—10.InnoDB锁机制
本文介绍了:锁概述、锁分类、全局锁实战、表级锁(偏读)实战、行级锁升级表级锁实战、间隙锁实战、临键锁实战、幻读演示和解决、行级锁(偏写)优化建议、乐观锁实战、行锁原理分析、死锁与解决方案
MySQL底层概述—10.InnoDB锁机制
MySQL MVCC全面解读:掌握并发控制的核心机制
【10月更文挑战第15天】 在数据库管理系统中,MySQL的InnoDB存储引擎采用了一种称为MVCC(Multi-Version Concurrency Control,多版本并发控制)的技术来处理事务的并发访问。MVCC不仅提高了数据库的并发性能,还保证了事务的隔离性。本文将深入探讨MySQL中的MVCC机制,为你在面试中遇到的相关问题提供全面的解答。
497 2
MySQL并发支撑底层Buffer Pool机制详解
【10月更文挑战第18天】在数据库系统中,磁盘IO操作是性能瓶颈之一。为了提高数据访问速度,减少磁盘IO,MySQL引入了缓存机制。其中,Buffer Pool是InnoDB存储引擎中用于缓存磁盘上的数据页和索引页的内存区域。通过缓存频繁访问的数据和索引,Buffer Pool能够显著提高数据库的读写性能。
331 2
Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
【9月更文挑战第1天】Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
1116 4
优化 MySQL 的锁机制以提高并发性能
【10月更文挑战第16天】优化 MySQL 锁机制需要综合考虑多个因素,根据具体的应用场景和需求进行针对性的调整。通过不断地优化和改进,可以提高数据库的并发性能,提升系统的整体效率。
358 1
MySQL锁机制与解决死锁问题
MySQL锁机制与解决死锁问题
451 5
深入解析MySQL数据存储机制:从表结构到物理存储
深入解析MySQL数据存储机制:从表结构到物理存储
746 1
在Linux中,新安装mysql后怎样提升mysql的安全级别?
在Linux中,新安装mysql后怎样提升mysql的安全级别?
MySQL 的锁机制,那么多的锁,该怎么区分?
MySQL 的锁机制,那么多的锁,该怎么区分?
80 0