服务器mysql数据库数据莫名丢失,没有规律,一直困扰着,不知道怎么解决,求高手支招!数据库mysqliis服务器

解决方案 »

  1.   

    把gengeral log打开  看看是谁操作了数据库
      

  2.   

    mysql> set global general_log=on;
    Query OK, 0 rows affected (0.00 sec)
      

  3.   

    只有打开通用日志
    [mysqld] 
    log=my.log 
    log-output=FILE
      

  4.   

    打开日志然后来检查吧。估计是被什么东西删除了。 或者是drop database .. 或者是直接删除了mysq/data/db1数据库目录。
      

  5.   

    在MY。INI(CNF)中[mysqld] 中加入上述代码,重新启动MYSQL即可
      

  6.   


    日志文件是存储在mysql\data\ 下吗?
      

  7.   

    可以指定目录
    log=r:/temp/my.log 
      

  8.   

    参考下面MYSQL的日志说明。5.11. MySQL日志文件
    5.11.1. 错误日志
    5.11.2. 通用查询日志
    5.11.3. 二进制日志
    5.11.4. 慢速查询日志
    5.11.5. 日志文件维护
    MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:日志文件
     记入文件中的信息类型
     
    错误日志
     记录启动、运行或停止mysqld时出现的问题。
     
    查询日志
     记录建立的客户端连接和执行的语句。
     
    更新日志
     记录更改数据的语句。不赞成使用该日志。
     
    二进制日志
     记录所有更改数据的语句。还用于复制。
     
    慢日志
     记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
     默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新。参见13.5.5.2节,“FLUSH语法”。如果你正使用MySQL复制功能,从复制服务器将维护更多日志文件,被称为接替日志。相关讨论参见第6章:MySQL中的复制。5.11.1. 错误日志
    错误日志文件包含了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。如果mysqld莫名其妙地死掉并且mysqld_safe需要重新启动它,mysqld_safe在错误日志中写入一条restarted mysqld消息。如果mysqld注意到需要自动检查或着修复一个表,则错误日志中写入一条消息。在一些操作系统中,如果mysqld死掉,错误日志包含堆栈跟踪信息。跟踪信息可以用来确定mysqld死掉的地方。参见E.1.4节,“使用堆栈跟踪”。可以用--log-error[=file_name]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名host_name.err 并在数据目录中写入日志文件。如果你执行FLUSH LOGS,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。(如果未给出--log-error选项,则不会重新命名)。如果不指定--log-error,或者(在Windows中)如果你使用--console选项,错误被写入标准错误输出stderr。通常标准输出为你的终端。在Windows中,如果未给出--console选项,错误输出总是写入.err文件。5.11.2. 通用查询日志
    如果你想要知道mysqld内部发生了什么,你应该用--log[=file_name]或-l [file_name]选项启动它。如果没有给定file_name的值, 默认名是host_name.log。所有连接和语句被记录到日志文件。当你怀疑在客户端发生了错误并想确切地知道该客户端发送给mysqld的语句时,该日志可能非常有用。
    mysqld按照它接收的顺序记录语句到查询日志。这可能与执行的顺序不同。这与更新日志和二进制日志不同,它们在查询执行后,但是任何一个锁释放之前记录日志。(查询日志还包含所有语句,而二进制日志不包含只查询数据的语句)。 服务器重新启动和日志刷新不会产生新的一般查询日志文件(尽管刷新关闭并重新打开一般查询日志文件)。在Unix中,你可以通过下面的命令重新命名文件并创建一个新文件:shell> mv hostname.log hostname-old.log
    shell> mysqladmin flush-logs
    shell> cp hostname-old.log to-backup-directory
    shell> rm hostname-old.log
    在Windows中,服务器打开日志文件期间你不能重新命名日志文件。你必须先停止服务器然后重新命名日志文件。然后,重启服务器来创建新的日志文件。5.11.3. 二进制日志
      

  9.   

    另外建议打开你的服务器的文件操作日志。这个你可以到WINDOWS的版块问一下。 80%可能是有什么脚本直接删除了你的数据库文件夹。