MySQl的存储过程被人删除了,怎么知道是谁干的?

解决方案 »

  1.   

    检查my.ini或者 my.cnf 
    [mysqld] 
    中是否有log=LOGFILE.log
      

  2.   

    到你的日志文件中找一下。普通日志或者二进制日志中看一下什么时候执行的drop procedure..另外建议控制一下mysql权限,仅授予用户尽可能少的必要的权限。
      

  3.   

    首先要在INI中设置打开日志,才能查询日志
      

  4.   


    到你的数据文件夹下,即你的INI文件中 datadir 所指向的文件夹中。看一下有滑 *.log 
    二进制LOG则一般为 xxxx.000001 这种格式。http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#log-files
    5.11. MySQL日志文件
    5.11.1. 错误日志
    5.11.2. 通用查询日志
    5.11.3. 二进制日志
    5.11.4. 慢速查询日志
    5.11.5. 日志文件维护
      

  5.   

    1.首先你要设置日志
    默认启动日志的error是 主机名.err 它记录一些sql启动等session级别的错误
    2.对于查询日志querrylog 你要设置指定的log文件 默认是主机名.log 
    该日志也就是你需要的
    3.对于查询超时等log 默认是主机名-slow.log目前mysql支持这三个log(我所知道的)关于设置mysql> select @@general_log_file;
    +-------------------------------------------------------------------------------
    ---------------------+
    | @@general_log_file
                         |
    +-------------------------------------------------------------------------------
    ---------------------+
    | C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\Da
    ta\tigerstone-05.log |
    +-------------------------------------------------------------------------------
    ---------------------+
    1 row in set (0.00 sec)
    mysql> select @@slow_query_log_file;
    +-------------------------------------------------------------------------------
    --------------------------+
    | @@slow_query_log_file
                              |
    +-------------------------------------------------------------------------------
    --------------------------+
    | C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\Da
    ta\tigerstone-05-slow.log |
    +-------------------------------------------------------------------------------
    --------------------------+
    1 row in set (0.00 sec)
    mysql> select @@log_error;
    +-------------------------------------------------------------------------------
    ---------------------+
    | @@log_error
                         |
    +-------------------------------------------------------------------------------
    ---------------------+
    | C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\Da
    ta\tigerstone-05.err |
    +-------------------------------------------------------------------------------
    ---------------------+
    1 row in set (0.00 sec)默认log directory是datadir
    用set @@log_error=设置不过首先一定要开启日志
    set @@generay_log=1;
    set @@log_bin=1;
    4.如果想查到ip和user的话用这个
    Nagios
    很实用 安装也方便可以监听Windows error,action等各种事件
    http://www.nagios.org/