之前还运行的好好的,今天早上起来连接数据库突然就出现错误,然后服务自动关闭了,手动开启后还是不能连接,每次都会出现这个错误,重启电脑也不行这是为什么呢?
图片不能上传郁闷mysqld.exe 应用程序错误
0x006adc0b 指令引用的 0x00000000 内存,该内存不能为read

解决方案 »

  1.   

    看一下datadir下的日志。
      

  2.   

    090513 11:46:12  InnoDB: Started; log sequence number 0 139484
    090513 11:46:12 [Note] Recovering after a crash using PC-HBF-bin
    090513 11:46:12 [Note] Starting crash recovery...
    090513 11:46:12 [Note] Crash recovery finished.
    090513 11:46:12 [Note] Event Scheduler: Loaded 0 events
    090513 11:46:12 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections.
    Version: '5.1.34-community-log'  socket: ''  port: 3306  MySQL Community Server (GPL)
    090513 11:58:43  InnoDB: Error: (1500) Couldn't read the MAX(messageID) autoinc value from the index (PRIMARY).
    090513 11:58:43  InnoDB: Assertion failure in thread 2528 in file .\handler\ha_innodb.cc line 2601
    InnoDB: Failing assertion: error == DB_SUCCESS
    InnoDB: We intentionally generate a memory trap.
    InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
    InnoDB: If you get repeated assertion failures or crashes, even
    InnoDB: immediately after the mysqld startup, there may be
    InnoDB: corruption in the InnoDB tablespace. Please refer to
    InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
    InnoDB: about forcing recovery.
    090513 11:58:43 - mysqld got exception 0xc0000005 ;
    This could be because you hit a bug. It is also possible that this binary
    or one of the libraries it was linked against is corrupt, improperly built,
    or misconfigured. This error can also be caused by malfunctioning hardware.
    We will try our best to scrape up some info that will hopefully help diagnose
    the problem, but since we have already crashed, something is definitely wrong
    and this may fail.key_buffer_size=26214400
    read_buffer_size=65536
    max_used_connections=1
    max_threads=100
    threads_connected=1
    It is possible that mysqld could use up to 
    key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 58231 K
    bytes of memory
    Hope that's ok; if not, decrease some variables in the equation.thd: 0x2d1f580
    Attempting backtrace. You can use the following information to find out
    where mysqld died. If you see no messages after this, something went
    terribly wrong...
    006ADC0B    mysqld.exe!ha_innobase::open()[ha_innodb.cc:2601]
    00443C06    mysqld.exe!handler::ha_open()[handler.cc:2037]
    005BF63B    mysqld.exe!open_table_from_share()[table.cc:1882]
    00525EF7    mysqld.exe!open_unireg_entry()[sql_base.cc:3927]
    0052954D    mysqld.exe!open_table()[sql_base.cc:2934]
    0052A4D2    mysqld.exe!open_tables()[sql_base.cc:4586]
    0052AA2A    mysqld.exe!open_and_lock_tables_derived()[sql_base.cc:4989]
    0053BBAC    mysqld.exe!mysql_delete()[sql_delete.cc:59]
    0055616E    mysqld.exe!mysql_execute_command()[sql_parse.cc:3253]
    7C930041    ntdll.dll!RtlFreeHeap()
    7C811225    kernel32.dll!GetFileAttributesExW()
    020D01C3    
    A8006E00    
    Trying to get some variables.
    Some pointers may be invalid and cause the dump to abort...
    thd->query at 02D502A8=delete from tb_message
    thd->thread_id=3
    thd->killed=NOT_KILLED
    The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
    information that should help you find out what is causing the crash.
    InnoDB: Thread 636 stopped in file .\os\os0sync.c line 574
    InnoDB: Thread 2288 stopped in file .\os\os0sync.c line 271
    090513 11:58:59  InnoDB: Started; log sequence number 0 139484
    090513 11:58:59 [Note] Recovering after a crash using PC-HBF-bin
    090513 11:58:59 [Note] Starting crash recovery...
    090513 11:58:59 [Note] Crash recovery finished.
    090513 11:58:59 [Note] Event Scheduler: Loaded 0 events
    090513 11:58:59 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections.
    Version: '5.1.34-community-log'  socket: ''  port: 3306  MySQL Community Server (GPL)部分错误日志。好像是一个表的问题,tb_message,我把它删了就没事了,不能select和delete,
      

  3.   

    090513 11:58:59 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections.
    Version: '5.1.34-community-log'  socket: ''  port: 3306  MySQL Community Server (GPL)这句看上去你的服务已经启来了,你连一下试试呢?
      

  4.   

    090513 11:58:43  InnoDB: Error: (1500) Couldn't read the MAX(messageID) autoinc value from the index (PRIMARY).
    090513 11:58:43  InnoDB: Assertion failure in thread 2528 in file .\handler\ha_innodb.cc line 2601是innodb引擎有些问题。
    SHOW ENGINE INNODB STATUS 看一下MySQL官方的建议是 试一下参数
    [mysqld]
    innodb_force_recovery = 4可能的原因,是你的这个数据文件是从其它地方复制来的并且你又重建了table.frm
      

  5.   

    不行,今天又不行了。
    错误日志:090514 22:35:45 - mysqld got exception 0xc0000005 ;
    This could be because you hit a bug. It is also possible that this binary
    or one of the libraries it was linked against is corrupt, improperly built,
    or misconfigured. This error can also be caused by malfunctioning hardware.
    We will try our best to scrape up some info that will hopefully help diagnose
    the problem, but since we have already crashed, something is definitely wrong
    and this may fail.key_buffer_size=26214400
    read_buffer_size=65536
    max_used_connections=6
    max_threads=100
    threads_connected=6
    It is possible that mysqld could use up to 
    key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 58231 K
    bytes of memory
    Hope that's ok; if not, decrease some variables in the equation.thd: 0x6e48068
    Attempting backtrace. You can use the following information to find out
    where mysqld died. If you see no messages after this, something went
    terribly wrong...
    006A9BE3    mysqld.exe!ha_innobase::innobase_get_index()[ha_innodb.cc:4473]
    006AD837    mysqld.exe!ha_innobase::innobase_initialize_autoinc()[ha_innodb.cc:2371]
    006ADBDF    mysqld.exe!ha_innobase::open()[ha_innodb.cc:2601]
    00443C06    mysqld.exe!handler::ha_open()[handler.cc:2037]
    005BF63B    mysqld.exe!open_table_from_share()[table.cc:1882]
    00525EF7    mysqld.exe!open_unireg_entry()[sql_base.cc:3927]
    0052954D    mysqld.exe!open_table()[sql_base.cc:2934]
    0052A4D2    mysqld.exe!open_tables()[sql_base.cc:4586]
    0052AA2A    mysqld.exe!open_and_lock_tables_derived()[sql_base.cc:4989]
    00553872    mysqld.exe!execute_sqlcom_select()[sql_parse.cc:4947]
    00554AF6    mysqld.exe!mysql_execute_command()[sql_parse.cc:2204]
    0055A133    mysqld.exe!mysql_parse()[sql_parse.cc:5906]
    0055AC23    mysqld.exe!dispatch_command()[sql_parse.cc:1218]
    0055BA27    mysqld.exe!do_command()[sql_parse.cc:861]
    005DEC81    mysqld.exe!handle_one_connection()[sql_connect.cc:1115]
    00644D1B    mysqld.exe!pthread_start()[my_winthread.c:85]
    0072A1A3    mysqld.exe!_callthreadstart()[thread.c:293]
    FC8FE900    
    Trying to get some variables.
    Some pointers may be invalid and cause the dump to abort...
    thd->query at 06E519E0=select messageID from tb_message where userReceiveID=111111 and isRead=0
    thd->thread_id=7
    thd->killed=NOT_KILLED
    The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
    information that should help you find out what is causing the crash.
      

  6.   

    http://topic.csdn.net/u/20090514/15/15ffeb71-2149-454b-8a5a-10ad12a20ef3.html
    和你相同的问题。减小一下这些参数。key_buffer_size=26214400
    read_buffer_size=65536
    max_used_connections=6
    max_threads=100
    threads_connected=6
      

  7.   

    重新安装了个mysql,换了个低版本的。。就没问题了~