PHP学习_PHP技术_PHP网站建设_PHP程序员专注于PHP技术研究及学习

Adophper » 数据库 » mysql错误:1286 - Unknown table engine 'InnoDB\temp',mysql错误解决方法

mysql错误:1286 - Unknown table engine 'InnoDB\temp',mysql错误解决方法

此文被围观2157日期: 2013-01-25 分类 : 数据库  标签:  ·········
昨天晚上有一个客户说他的网站不能下载了!我进去一看,页面上显示:1286 - Unknown table engine 'InnoDBtemp' 一看应该就知道是数据库这块的问题,mysql错误解决方法 一、 Unknown table engine 'InnoDB'[转载] 查看文章 ERROR 1286 (42000): Unknown table engine 'InnoDB'2009-07-17 15:51 从主库复制innodb的所有文件做副库,启动后报ERROR 1286 (42000): Unknown table engine 'InnoDB' 删ib_logfile*,可能是my.cnf对log的设置不一样造成读不出来。 最近在迁移mysql数据库innodb引擎的过程中,碰到以上错误。把ib_logfile*删除,再启动mysql即可正常。yeah。 好久没写文章了。 二、 Query failed: Unknown table engine ‘InnoDb’ 提示信息明显,缺少InnoDb数据库引擎。 命令行下查看一下可用数据库引擎: Mysql> show engines; +————+———+———— | Engine | Support | Comment … +————+———+———— | MEMORY | YES | … | FEDERATED | NO | | MyISAM | DEFAULT | | BLACKHOLE | YES | | MRG_MYISAM | YES | | CSV | YES | | ARCHIVE | YES | | InnoDB | NO | +————+———+- 8 rows in set (0.00 sec) 确实是InnoDB引擎没启用。 解决办法有二: 1、修改SQL语句中的引擎InnoDB为MyISAM,一般MyISAM都是启用的。 2、修改MySQL安装目录下的my.ini,在skip-innodb前增加#,重启MySQL,(这也是开启Mysql数据库InnoDB功能的方法!)再次通过命令行查看结果为: mysql> show engines; +————+———+———— | Engine | Support | Comment … +————+———+———— | MEMORY | YES | … | FEDERATED | NO | | MyISAM | DEFAULT | | BLACKHOLE | YES | | MRG_MYISAM | YES | | CSV | YES | | ARCHIVE | YES | | InnoDB | YES | +————+——— 根据my.ini中的提示,启用InnoDB引擎会消耗内存和硬盘空间,如非必要不建议启用。 show engine innodb statusG; show variables like 'innodb_version'G; 执行 mysqldump 时出现找不到某一个 tables 并且中断执行 [root@localhost ~]# /www/Wdlinux/mysql-5.1.56/bin/mysqldump -uroot -p haier -l -F >/root/test.sql mysqldump: Got error: 1146: Table 'xoops.vote_results' doesn't exist when using LOCK TABLES mysql> show variables like 'have_innodb'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_innodb | DISABLED | +---------------+-------+ 1 row in set (0.04 sec) DISABLED和NO是有区别的,DISABLED(开启为YES)表示具有该功能,只是没有启用(通过启动参数or配置文件),NO表示彻底的不支持的编译版本。 若结果中列Engine有innodb的记录,且列Support为"YES"则表示支持. 若列Engine有innodb的记录,但且列Support为"NO",则说明你参数文件中屏蔽了innodb引擎的使用,你去参数配置文件中注释掉"#skip-innodb"项. 若列Engine没有innodb的记录,则表示你的版本没有支持innodb引擎,你必须去重新安装支持innodb引擎的版本(如果是自己编译安装的, 要加上innodb对应的参数). { 找到 my.ini 修改 default-storage-engine = InnoDB 保存 然后 重启mysql 你这样做只是把默认引擎更改为InnoDB,根本没启用肯定出错。 把my.ini中skip-innodb前面的注释和空格去掉,保存重启mysql } 确定你安装的mysql版本支持innodb后,你"表结构是MyISAM,并且里面有了一些数据,如果改成INNODB"很容易实现,可以直接用命令更新表的存储引擎即可,如: alter table tb_name engine=innodb;(版本5.0后都可以用engine参数) 或 alter table tb_name type=innodb;(低版本中用type参数) 文章来源:http://test.flyes.net/product/20121027132237.html

本站使用ThinkPHP框架开发读图网主题,目前托管在阿里云,图片由读图网提供. 蜀ICP备12031064号

Copyright © 2011-2017adophper.com All Rights Reserved.