昨晚意外关闭数据库服务器后尝试重新启动 MySQL 服务时,我遇到以下错误。
无法在本地计算机上启动 MySQL 服务。
错误 1067:进程意外终止。
当我检查 MySql 数据文件夹下的 .err 日志文件时,日志详细信息如下所示。
InnoDB:日志扫描通过检查点 lsn 804 2135184621 150513 12:20:39 InnoDB:数据库未正常关闭!
InnoDB:开始崩溃恢复。
InnoDB:从 .ibd 文件中读取表空间信息...
InnoDB:从双写恢复可能的半写入数据页
InnoDB:缓冲区...
InnoDB:进行恢复:扫描到日志序列号 804 2136195241 150513 12:20:50 InnoDB:开始将一批日志记录应用到数据库...
InnoDB:百分比进度:0 1 2 3 150513 12:20:50 InnoDB:文件中线程 2412 中的断言失败。\rem\rem0rec.c 第 337 行
InnoDB : 我们故意产生一个内存陷阱。
InnoDB:向 http://bugs.mysql.com 提交详细的错误报告。
InnoDB:如果你得到重复的断言失败或崩溃,即使是
InnoDB: 在 mysqld 启动后立即,也可能存在
InnoDB: InnoDB 表空间损坏。
150513 12:20:51 - mysqld 出现异常 0xc0000005 ;
这可能是因为您遇到了错误。此二进制文件或与之链接的库之一也可能已损坏、构建不正确或配置错误。此错误也可能是由硬件故障引起的。我们将尽最大努力收集一些信息,希望能帮助诊断问题,但由于我们已经崩溃,肯定有问题,这可能会失败。
key_buffer_size=135266304
read_buffer_size=65536
max_used_connections=0
max_threads=400
threads_connected=0
mysqld 可能最多可以使用
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 262617 K 字节的内存
希望没关系;如果不是,减少方程中的一些变量。
thd: 0x0
正在尝试回溯。您可以使用以下信息找出 mysqld 死在哪里。如果您在此之后没有看到任何消息,则出现严重错误...
InnoDB:线程 164 在文件中停止 .\os\os0sync.c 第 391 行
0070A1A8 mysqld.exe!rec_get_offsets_func()[rem0rec.c:337]
0071B498 mysqld.exe !page_cur_parse_insert_rec()[page0cur.c:798]
0071512F mysqld.exe!recv_parse_or_apply_log_rec_body()[log0recv.c:814]
00715CF1 mysqld.exe!recv_recover_page()[log0recv.c:1294]
006EBE0F mysqld.exe!buf_page_io_complete()[buf0buf.c:2033]
006E4472 mysqld.exe!fil_aio_wait()[fil0fil.c:4273]
006BCDCD mysqld.exe!io_handler_thread()[srv0start.c:437]
77E6482F kernel32.dll! GetModuleHandleA()
事件查看器中显示的错误日志:
mysqld.exe [1200] 中出现未处理的 win32 异常。即时调试此异常失败并出现以下错误:调试器无法启动,因为没有用户登录。
MySQL 版本:5.1
表类型:InnoDB
ibdata1 大小:28GB
制作的表没有 SQL 转储备份文件,只有 SQL 物理数据文件。我迫切需要恢复这些数据并使网站恢复在线。
请帮忙。