以下是win2003server 中的事件查看器中最近一直出现警告:mysql 服务意外地终止,这种情况已经出现了 1 次。以下的修正操作将在 0 毫秒内运行: 重新启动服务。我查看了一下mysql.err日志,里面内容如下:
110901  8:36:38  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 0 1856513776
110901  8:36:38  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 3122, file name .\log-bin.000571
110901  8:36:39  InnoDB: Started; log sequence number 0 1856513776
110901  8:36:39 [Note] Recovering after a crash using log-bin
110901  8:36:39 [Note] Starting crash recovery...
110901  8:36:39 [Note] Crash recovery finished.
110901  8:36:39 [Note] C:\AppServ\MySQL\bin\mysqld-nt: ready for connections.
Version: '5.0.51b-community-nt-log'  socket: ''  port: 3306  MySQL Community Edition (GPL)
从上面的日志好像看不出是哪个表出现了问题啊。求救高手,遇到这种情况,如果解决问题?

解决方案 »

  1.   

      8:36:38  InnoDB: Database was not shut down normally!
    InnoDB: Starting crash recovery.把这个之前的数据再贴出一些。 另外可以打开你的普通查询日志,看这个时间点之前的语句是什么。
      

  2.   

    另外,我刚才把那些bin文件删除了,后来重启mysql,已经连不上了,说phpMyAdmin - error
    #2003 - 服务器没有响应,这下麻烦了,服务器都打不开了
      

  3.   

    查询哪个表出现了问题,但是怎么修复?我一用optimize table,立马lost connection,又意外关闭。
    但是又不敢删除,里面有数据呀,mysqldump也不行,同样lost connection。眼前着问题在哪里但无从下手啊
      

  4.   

    MY.INI:
    [mysqld]
    innodb_force_recovery = 从1 -6 都试试,
    再启动MYSQL看看能否用MYSQLDUMP导出
      

  5.   

    什么表?什么存储引擎,贴出SHOW CREATE TABLE,SHOW TABLE STATUS。
      

  6.   

    CREATE TABLE `szs_qingdan` (
       `szs_qingdanhao` varchar(50) NOT NULL,
       `szs_xianghao` varchar(20) NOT NULL,
       `szs_zhongliang` varchar(50) NOT NULL,
       `szs_date` date NOT NULL,
       `szs_state` enum('y','n') NOT NULL,
       `szs_isInvoice` enum('n','y') NOT NULL,
       `szs_length` varchar(10) NOT NULL,
       `szs_width` varchar(10) NOT NULL,
       `szs_height` varchar(10) NOT NULL,
       `szs_operator` varchar(10) NOT NULL,
       `szs_fdate` date NOT NULL,
       `id` int(8) NOT NULL auto_increment,
       PRIMARY KEY  (`szs_qingdanhao`,`szs_xianghao`),
       UNIQUE KEY `id` (`id`),
       KEY `szs_date` (`szs_date`),
       KEY `szs_state` (`szs_state`),
       KEY `szs_isInvoice` (`szs_isInvoice`)
     ) ENGINE=InnoDB AUTO_INCREMENT=35801 DEFAULT CHARSET=utf8
    MY.INI:
    [mysqld]
    innodb_force_recovery = 从1 -6 都试试,
    再启动MYSQL设置1导出还是有问题,错误停留在rows-30622处,是不是select* from table limit 30622,1找到记录删除就行?我这么做了,还是提示rows-30622处
      

  7.   

    导不出啊,一导就出现rows-30622,连接中断了