给 mysql 系统表加上 trigger

默认情况下,mysql 是不能给系统表,例如 mysql.user 加上触发器的。会提示

ERROR 1465 (HY000): Triggers can not be created on system tables

但是还是可以有办法绕过这个限制。

在其他 db 里另外建一个结构名字一样的表,例如

create table test.user like mysql.user

然后在那个表上建好触发器。这样会在数据库目录中生成 “表名.TRG” 文件。把这个文件拷贝到 mysql 库的目录中,确认访问权限没问题后,重启一下 mysql ,触发器就可以生效了。

在 mysql 中对特定的库禁用 DDL 语句

mysql 的权限控制功能虽然已经比较强大,但是是基于白名单规则,所以没法做到对除某某库,如 mysql 库以外的所有库分配权限,或者说单独禁用某个库的某些权限。虽然可以一个个库地分配,但是这样毕竟麻烦,尤其是在库的数量会动态变化的情况下。

对于 DDL 语句,也就是 create 、alter 、drop 之类,有一个特殊的办法可以做到。其实也很简单,去掉那个库所在的目录的写权限即可。例如:

chmod a-w mysql

之后,在 mysql 库上执行任意 DDL 语句都会出错。

这方法看着挺恶心,不过也没找到更好的解决办法。

mysql系统表加trigger和对特定的库禁用 DDL 语句的更多相关文章

  1. mysql系统库INFORMATION_SCHEMA,MySQL,TEST,mysql系统表的作用

    本文简要说明了MySQL数据库安装好后自带的INFORMATION_SCHEMA,MySQL,TEST三个数据库的用途. 第一个数据库INFORMATION_SCHEMA: 提供了访问数据库元数据的方 ...

  2. mysql 系统表的作用

    mysql 的系统表记录了所有数据库表(包括视图的定义语句)的字段列,顺序,类型等等,知道这些的话可以做些抽取模板淫荡的操作吧 嘿嘿  public void shuaxinglb() { try { ...

  3. MySQL系统表的利用姿势(浅探)

    MySQL数据库文件读写 权限要求: 具备读写权限并且目标文件为可读内容 目标内容具有完整路径且目录可访问 目标内容是否具备文件读写操作权限 查看是否有文件读写权限 show variables li ...

  4. 常用mysql系统表及命令

    常用系统表查看当前数据库连接ip信息– select * from information_schema.PROCESSLIST 当前mysql实例中所有数据库的信息– select * from i ...

  5. SqlServer与MySql 系统表查询自建表数据

    SqlServer: SELECT * FROM sys.sysobjects WHERE type='U' ORDER BY name SELECT * FROM sys.syscolumns WH ...

  6. sql数据库系统表和mysql系统表

    sql数据库系统表,常用的(sysobjects,sysindexes,sysindexkeys,SYSCOLUMNS,SYSTYPES 及更多解释说明): https://docs.microsof ...

  7. Mysql 系统表

    Information_schema: 1. tables 提供表信息: 表所属数据库,表名,表类型,行数,最大自增数等等.

  8. mysql分组排序加序号(不用存储过程,就简简单单sql语句哦)

    做前端好长时间了,好久没动sql了.在追一个喜欢的女孩,做测试的,有这么个需求求助与本屌丝,机会难得,开始折腾起来,配置mysql,建库,建表.... 一 建表 CREATE TABLE `my_te ...

  9. Mysql实战45讲 06讲全局锁和表锁:给表加个字段怎么有这么多阻碍 极客时间 读书笔记

    Mysql实战45讲 极客时间 读书笔记 Mysql实战45讲 极客时间 读书笔记 笔记体会: 根据加锁范围:MySQL里面的锁可以分为:全局锁.表级锁.行级锁 一.全局锁:对整个数据库实例加锁.My ...

随机推荐

  1. JSON格式化 JSON美化 输出到html

    {"promotion_details":{"promotion_detail":[{"discount_fee":"22.20& ...

  2. java连接mysql的一个小例子

    想要用java 连接数据库,需要在classpath中加上jdbc的jar包路径 在eclipse中,Project的properties里面的java build path里面添加引用 连接成功的一 ...

  3. CSS之可收缩的底部边框

    简述 <div>用来定义文档中的分区或节,<span>用来组合文档中的行内元素.我们可以通过<div>和 <span>将HTML元素组合起来. 下面我们 ...

  4. UVa 11210 (DFS) Chinese Mahjong

    大白书第一章的例题,当时看起来很吃力,现如今A这道题的话怎么写都无所谓了. 思路很简单,就是枚举胡哪张牌,然后枚举一下将牌,剩下如果能找到4个顺子或者刻子就胡了. 由于粗心,34个字符串初始化写错,各 ...

  5. HDU pog loves szh II (数的处理)

    题意: 给一个序列,找出两个数字a和b(可以相等但不可相同),要求(a+b)%p的结果最大. 思路: 先将所有元素模p,再排序.要找出a和b,分两种情况,a+b>p和a+b<p.第一种,肯 ...

  6. matlab中矩阵和向量的创建

    1.向量的创建 1)直接输入: 行向量:a=[1,2,3,4,5] 列向量:a=[1;2;3;4;5] 2)用“:”生成向量 a=J:K 生成的行向量是a=[J,J+1,…,K] a=J:D:K 生成 ...

  7. python练习程序(c100经典例8)

    题目: 输出9*9口诀. for i in range(1,10): for j in range(1,i+1): print str(j)+"*"+str(i)+"=& ...

  8. HDU2027 统计元音

    #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; //此处 ...

  9. margin collapse 之父子关系的DIV

    打算花点时间将知识整理一下,虽然平时现用现查都能完成工作,可是当遇到面试这种事情的时候,临时查就来不及了... 关于margin,整理若干知识点如下: 一:父子关系的DIV标签以及未加margin时的 ...

  10. 第三集 欠拟合与过拟合的概念、局部加权回归、logistic回归、感知器算法

    课程大纲 欠拟合的概念(非正式):数据中某些非常明显的模式没有成功的被拟合出来.如图所示,更适合这组数据的应该是而不是一条直线. 过拟合的概念(非正式):算法拟合出的结果仅仅反映了所给的特定数据的特质 ...