Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL错误:";未知表引擎';InnoDBopt'&引用;_Php_Mysql_Database_Wamp - Fatal编程技术网

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 engine
InnoDB
”,其中/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。我现在该怎么办?