mysql管理之安全机制

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 [email protected]’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 [email protected] ‘localhost’ identitied by ‘123456’;

Flush privileges;

删除用户

方法一drop user语句删除

Drop user [email protected]’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 [email protected]’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 [email protected]’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   指定主机

4)With_option参数

Grant option          授权选项

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

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

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

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

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

Grant all on pro.*  to [email protected];   //db级的

Grant all on *.*  to [email protected]`%` identified by ‘tianyun’;   //全局

Grant all on pro.*  to  [email protected]`%` identified by ‘tianyun’ with grant option;  //增加这个用户的授权权限

Grant all on bbs.user to [email protected]’% ’ identified by ‘tianyun’ //表级

Grant select (col1),insert(col2,col3) on bbs.user to [email protected]’%’ identified by ‘tianyun’;  //列级别

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

实例 show grants for [email protected]’%’ \G

删除收回权限

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

Revoke all on pro.* from [email protected];        //回收所有权限

Revoke delete  on pro.* from [email protected];   //回收部分权限

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

时间: 2024-10-13 23:31:38

mysql管理之安全机制的相关文章

memcached的内存管理与删除机制

memcached的内存管理与删除机制 简介 注意:Memcache最大的value也只能是1M的空间,超过1M的数据无法保存(修改memcache源代码). ? 注意:内存碎片化永远都存在,只是哪一种方式可以使得内存碎片最小. ? 1. 什么是内存碎片化? 在使用这种内存缓存系统的时候,由于不断的申请,释放,就会形成一些很小的内存片段,无法被利用,这种现象就叫做,内存的碎片化.这个小块就是操作系统无法使用的空间. ????注意:内存碎片化永远存在,无法消除,但是可以利用最好的算法,降到最低.

DBA必备的15款MySQL管理工具

原文:http://www.techxue.com/techxue-11898-1.html 如今,Web应用程序的响应速度是成功的关键法宝之一.它与用户互动,用户对网站的看法,甚至谷歌网站排名情况都有着密不可分的关系.数据库性能是响应速度最重要的因素之一,一旦出错,所有程序都将会宕机. 工欲善其事,必先利其器.几乎每一个Web开发人员都有一个最钟爱的MySQL管理工具,它帮助开发人员在许多方面支持包括PostgreSQL,MySQL,SQLite,Redis,MongoDB等在内的多种数据库:

Flink状态管理和容错机制介绍

本文主要内容如下: 有状态的流数据处理: Flink中的状态接口: 状态管理和容错机制实现: 阿里相关工作介绍: 一.有状态的流数据处理# 1.1.什么是有状态的计算# 计算任务的结果不仅仅依赖于输入,还依赖于它的当前状态,其实大多数的计算都是有状态的计算. 比如wordcount,给一些word,其计算它的count,这是一个很常见的业务场景.count做为输出,在计算的过程中要不断的把输入累加到count上去,那么count就是一个state. 1.2.传统的流计算系统缺少对于程序状态的有效

MySQL基础普及《MySQL管理之道:性能调优、高可用与监控》

最近工作的内容涉及MySQL运维内容,陆陆续续读了几本相关的书,其中一本是<MySQL管理之道:性能调优.高可用与监控>. 内容涵盖性能调优(包括sql优化等).备份.高可用,以及读写分离等,对于普及MySQL基础非常有用.记录一下,以便于后面查阅. 附目录: 1章 MariaDB架构与历史1 1.1 MariaDB的介绍 1 1.2 MariaDB和MySQL的兼容性 2 1.3 MariaDB 10.0新增的功能 3 1.3.1 更多的存储引擎 4 1.3.2 速度的提升 5 1.3.3

巧用MySQL InnoDB引擎锁机制解决死锁问题(转)

该文会通过一个实际例子中的死锁问题的解决过程,进一步解释innodb的行锁机制 最近,在项目开发过程中,碰到了数据库死锁问题,在解决问题的过程中,笔者对MySQL InnoDB引擎锁机制的理解逐步加深. 案例如下: 在使用Show innodb status检查引擎状态时,发现了死锁问题: *** (1) TRANSACTION: TRANSACTION 0 677833455, ACTIVE 0 sec, process no 11393, OS thread id 278546 starti

&lt;MySQL管理之道第二版元旦截稿

<MySQL管理之道第二版>元旦截稿,这周即可送往机械工业出版社排版订正,在这里感谢沃趣科技公司高级DBA邱文辉提供"MariaDB 10 Hash Join索引优化"一文.

MySQL管理之SQL语句实例

MySQL管理之SQL语句实例 首先,我们来导入world库,这个world库中的表是mysql ocp考试专用表,在网上有下 mysql> source/root/world_innodb.sql 表结构如下: 本文来自http://yijiu.blog.51cto.com 转载请经博主允许 ,盗帖可耻! CREATE TABLE `Country` (  `Code` char(3) NOT NULL DEFAULT '',  `Name` char(52) NOT NULL DEFAULT

MySQL管理工具-phpMyAdmin管理平台搭建

4 MySQL管理工具 4.1 问题 本案例要求基于LAMP平台部署一套phpMyAdmin应用系统,实现对MySQL服务器的Web方式管理. 4.2 方案 使用2台RHEL6虚拟机 + 1台Windows 7真机,如图-2所示.其中192.168.4.10是MySQL服务器,授权操作在此服务器上执行:另一台Linux服务器192.168.4.6上部署phpMyAdmin管理平台,实现从浏览器访问的Web管理方式. 图-2 4.3 步骤 实现此案例需要按照如下步骤进行. 步骤一:在MySQL服务

使用mysql管理meta

第一部分 安装mysql 第二部分 使用mysql管理meta 安装mysql 安装 yum -y install mysql mysql-server yum方法安装需要使用网络:可以自动续传:对于要依赖的包,能自动下载: rpm方法安装对于需要依赖的包,需要手动下载: mysql基础知识 查看mysql版本 rpm -qi mysql-server  --查看详细信息 mysql -V   --查看简略版本信息 配置 root用户下配置mysql默认编码 vi /etc/my.cnf 在[m