我在服务器 S1 上有 mysql DB(mysql 版本 5.1.41-3ubuntu12.7-log),我在服务器 S2(mysql 版本 5.1.54-1ubuntu4-log)上为这个 DB 创建了主从。
S1 上的数据库正在使用一个数据文件(ibdata)。将数据库转储到 S2 后,我设置了 innodb_file_per_table=1。这使得每个表都有自己的 ibd 文件。现在一切顺利。
但是在 S2 上重新启动 mysql 后,我遇到了这个错误的问题:
Error 'Unknown table engine 'InnoDB'' on query. Default database: MyDB
当我尝试显示引擎时
展示引擎; +------------+---------+-------------- --------------------------------------------------+------------ ---+--------+------------+ | 引擎 | 支持 | 评论 | 交易 | XA | 保存点 | +------------+---------+-------------- --------------------------------------------------+------------ ---+--------+------------+ | MyISAM | 默认 | MySQL 3.23 的默认引擎具有出色的性能| 否 | 否 | 否 | | MRG_MYISAM | 是 | 相同的 MyISAM 表的集合 | 否 | 否 | 否 | | 黑洞 | 是 | /dev/null 存储引擎(您写入的任何内容都会消失)| 否 | 否 | 否 | | CSV | 是 | CSV 存储引擎 | 否 | 否 | 否 | | 内存 | 是 | 基于哈希,存储在内存中,对临时表有用 | 否 | 否 | 否 | | 联邦 | 否 | 联合 MySQL 存储引擎 | 空 | 空 | 空 | | 存档 | 是 | 归档存储引擎 | 否 | 否 | 否 | +------------+---------+-------------- --------------------------------------------------+------------ ---+--------+------------+
innodb 未列出。
在错误日志中我可以看到:
InnoDB:数据库物理写入文件已满:等待... InnoDB:无法初始化创建的日志文件,因为 InnoDB:数据文件已损坏,或新数据文件已损坏 InnoDB:在数据库之前启动时创建 InnoDB:时间但数据库没有关闭 InnoDB:通常在那之后。 111016 8:24:11 [错误] 插件“InnoDB”初始化函数返回错误。 111016 8:24:11 [错误] 插件“InnoDB”注册为存储引擎失败。 111016 8:24:11 [警告] 既没有使用 --relay-log 也没有使用 --relay-log-index;因此,当此 MySQL 服务器充当从属服务器并更改其主机名时,复制可能会中断!请使用 '--relay-log=S2-relay-bin' 来避免这个问题。
我试图删除 ib_logfiles 但这也不起作用。
以前有人遇到过这样的问题吗??任何想法都非常
感谢