Php MySQL错误:";未知表引擎';InnoDBopt'&引用;
我在一个旧应用程序的某些代码上遇到以下错误:Php MySQL错误:";未知表引擎';InnoDBopt'&引用;,php,mysql,database,wamp,Php,Mysql,Database,Wamp,我在一个旧应用程序的某些代码上遇到以下错误: A Database Error Occurred Error Number: 1286 Unknown table engine 'InnoDBopt' INSERT INTO `sessions` (`session_id`, `ip_address`, `user_agent`, `last_activity`) VALUES ('2ef196aba7f060308be6b7bc1133671f', '127.0.0.1', 'Mozill
A Database Error Occurred
Error Number: 1286
Unknown table engine 'InnoDBopt'
INSERT INTO `sessions` (`session_id`, `ip_address`, `user_agent`, `last_activity`) VALUES ('2ef196aba7f060308be6b7bc1133671f', '127.0.0.1', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) Ap', 1290342372)
我使用的是MySQL版本5.1.36。这个应用程序是不久前开发的,所以我很可能只需要降级我的MySQL版本就可以运行它了?如果是,请告知我需要哪个版本来运行此程序
编辑:为了澄清这一点,我不得不将数据库从一个mysql安装复制到另一个mysql安装,所以我将'c:/mysql/data'中的所有内容复制到了另一个mysql安装,这可能是导致此问题的原因。表引擎定义在哪里?在我的电脑里?检查my.cnf中的拼写。。。“opt”听起来像是日志文件或配置文件中定义的某个文件的路径。表引擎在哪里定义?在我的电脑里?检查my.cnf中的拼写。。。“opt”听起来像是日志文件或配置文件中定义的某个文件的路径。Run
SHOW CREATE TABLE sessions
然后跑
显示引擎
你会看到类似的东西
引擎=第一个命令结果末尾的xyz
xyz必须在显示引擎返回的列表中
编辑:
更明确地说:SHOW CREATE TABLE sessions
的结果如下:
表:会话
创建表:创建表会话(
................
)发动机=xyz
其中xyz可以是MyIssam、Innodb等。运行
显示创建表会话
然后跑
显示引擎
你会看到类似的东西
引擎=第一个命令结果末尾的xyz
xyz必须在显示引擎返回的列表中
编辑:
更明确地说:SHOW CREATE TABLE sessions
的结果如下:
表:会话
创建表:创建表会话(
................
)发动机=xyz
如果xyz可以是MyIssam、Innodb等。正如Pekka所建议的那样,没有引擎“InnoDBopt” 尝试
显示引擎代码>
如果mysql返回如下内容
+------------+----------+----
|发动机|支架|……
+------------+----------+----
|InnoDB已禁用。。。
最有可能的引擎innodb已被禁用。
在mysql配置(如my.cnf)中查找选项跳过innodb
,
注释掉此选项,
重新启动mysql守护程序,它应该按照Pekka的建议修复,没有引擎“InnoDBopt”
尝试显示引擎代码>
如果mysql返回如下内容
+------------+----------+----
|发动机|支架|……
+------------+----------+----
|InnoDB已禁用。。。
最有可能的引擎innodb已被禁用。
在mysql配置(如my.cnf)中查找选项跳过innodb
,
注释掉此选项,
重新启动mysql守护程序,它应该修复确保mysql用户可以写入/tmp。还原后,我得到了“未知表引擎InnoDB
”,其中/tmp对于该用户是不可写的。确保mysql用户可以写入/tmp。在还原后,我得到了“Unknown table engineInnoDB
”,其中/tmp对于该用户是不可写的。MySQL中缺少InnoDB引擎还有另一个原因。如果您的innodb_buffer_pool_size变量太高,MySQL无法分配缓冲区,它将禁用innodb引擎
您应该在错误日志中看到类似的内容:
140204 13:12:26 InnoDB: Initializing buffer pool, size = 4.9G
140204 13:12:26 InnoDB: Error: cannot allocate 5242896384 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 36878736 bytes. Operating system errno: 12
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...
140204 13:13:26InnoDB: Fatal error: cannot allocate the memory for the buffer pool
140204 13:13:26 [ERROR] Plugin 'InnoDB' init function returned error.
140204 13:13:26 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
当缓冲池请求4.9G时,这个错误被记录在内存为1GB的服务器上。MySQL中缺少INNODB引擎还有另一个原因。如果您的innodb_buffer_pool_size变量太高,MySQL无法分配缓冲区,它将禁用innodb引擎
您应该在错误日志中看到类似的内容:
140204 13:12:26 InnoDB: Initializing buffer pool, size = 4.9G
140204 13:12:26 InnoDB: Error: cannot allocate 5242896384 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 36878736 bytes. Operating system errno: 12
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...
140204 13:13:26InnoDB: Fatal error: cannot allocate the memory for the buffer pool
140204 13:13:26 [ERROR] Plugin 'InnoDB' init function returned error.
140204 13:13:26 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
当缓冲池请求4.9G时,这个错误被记录在一个内存为1GB的服务器上。这听起来像是一个坏了的表引擎定义:InnoDBopt没有一个Google点击。一个节目的制作说明了什么?首先要检查的是您的新wamp支持mysql innodb。第二,尝试mysqldump
将数据加载到新设置中这听起来像是一个坏表引擎定义:InnoDBopt的InnoDBopt
没有一个Google点击。一个节目的制作说明了什么?首先要检查的是您的新wamp支持mysql innodb。第二,尝试mysqldump
将数据加载到新的设置中,这可能在my.cnf中的什么位置?搜索my.cnf
。。。在/etc中出现问题。我有my.cnf文件,我应该在该文件中查找什么?很可能,它在my.cnf中的什么位置?搜索my.cnf
。。。在/etc中发生了问题。我有my.cnf文件,我应该在该文件中查找什么?当我运行第一个查询时,我得到了“#1286-未知表引擎”InnoDB”。阅读关于#1286-未知表引擎“InnoDB”的错误:当我运行第一个查询时,我得到了“#1286-未知表引擎”InnoDB”。阅读关于#1286-未知表引擎“InnoDB”的错误:如果从您的源安装Mysql,请忘记innodb的这个选项吧,或者是我安装的WAMP和为我安装的MySQL的配置文件有问题。我现在该怎么办?如果您是从源代码安装Mysql,那么您忘记了使用innodb的这个选项,或者您的配置文件有问题,我安装了WAMP,而那是为我安装的Mysql。我现在该怎么办?