innodb_log_file_size = 100M
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var/为什么设置了以上3个参数任何一个以上之后,mysql重启,用
show engines;就看不到innodb信息了呢?

解决方案 »

  1.   

    [root@mysql var]# more mysql.chinascopefinanical.com.err
    110121 19:37:01 [Note] /usr/local/mysql/libexec/mysqld: Normal shutdown110121 19:37:01 [Note] Event Scheduler: Purging the queue. 0 events
    110121 19:37:01  InnoDB: Starting shutdown...
    110121 19:37:02  InnoDB: Shutdown completed; log sequence number 0 3920072339
    110121 19:37:03 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete110121 19:37:03 mysqld_safe mysqld from pid file /usr/local/mysql/var//mysql.chinascopefinanical.com.pid ended
    110121 19:37:03 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var/
    110121 19:37:04 [Note] Plugin 'FEDERATED' is disabled.
    110121 19:37:04 [Note] Plugin 'ndbcluster' is disabled.
    InnoDB: Error: data file /usr/local/mysql/var/ibdata1 is of a different size
    InnoDB: 49792 pages (rounded down to MB)
    InnoDB: than specified in the .cnf file 128000 pages!
    InnoDB: Could not open or create data files.
    InnoDB: If you tried to add new data files, and it failed here,
    InnoDB: you should now edit innodb_data_file_path in my.cnf back
    InnoDB: to what it was, and remove the new ibdata files InnoDB created
    InnoDB: in this failed attempt. InnoDB only wrote those files full of
    InnoDB: zeros, but did not yet use them in any way. But be careful: do not
    InnoDB: remove old data files which contain your precious data!
    110121 19:37:04 [ERROR] Plugin 'InnoDB' init function returned error.
    110121 19:37:04 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    110121 19:37:04 [Note] Event Scheduler: Loaded 0 events
    110121 19:37:04 [Note] /usr/local/mysql/libexec/mysqld: ready for connections.
    Version: '5.1.41-log'  socket: '/usr/local/mysql/tmp/mysql.sock'  port: 3306  Source distribution
      

  2.   

    不应该啊。
    你是自己build的mysql吗?
      

  3.   


    这儿不是很清楚吗?
    如果你的INNODB中的数据不需要,则你可以直接删除 ibdata*, ib_logfile*, 然后重启。
      

  4.   


    不太可能,只有参数太大,超出了系统的限制,会使得show engines 里面的存储引擎变成no
      

  5.   

    mysql 是不支持前两个参数 【在服务器停止时】【改变】的,只要你有一个innodb库,就不行。
    可以这样理解,log 和ibdata等任何表空间文件,就是innodb自家私有的分区格式文件。
    你把innodb的家都搞乱了,【打砸】坏了,它自然没法干活,整个服务器没停就不错了。1备份所有innodb库表,关闭服务器。
    2删除所有innodb表空间文件。
    3设置新的参数,启动服务器。----这时才会按配置文件,生成新的表空间。
      

  6.   

    应该是因为usr/local/mysql/var/ibdata1的大小与以前的不一样造成的。