Mysql无法启动-未找到innodb

Mysql无法启动-未找到innodb

我全新安装了 ubuntu 12.04 服务器版本,但 mysql 服务器无法正常启动。

我做了一个简单的 apt-get 安装

apt-get install mysql-server

但是,它失败并显示此错误消息

root@test:~# mysqld

120618 20:57:32 [警告] 语法“--log-slow-queries”已弃用,并将在将来的版本中删除。请改用“--slow-query-log”/“--slow-query-log-file”。

120618 20:57:32 [注意] 插件‘FEDERATED’已被禁用。

120618 20:57:32 InnoDB:InnoDB 内存堆已禁用

120618 20:57:32 InnoDB:互斥锁和 rw_locks 使用 GCC 原子内置函数

120618 20:57:32 InnoDB:压缩表使用 zlib 1.2.3.4

120618 20:57:32 InnoDB:无法识别 innodb_flush_method 的值 fdatasync

120618 20:57:32 [错误] 插件“InnoDB”初始化函数返回错误。

120618 20:57:32 [错误] 插件“InnoDB”注册为存储引擎失败。

120618 20:57:32 [错误] 未知/不受支持的存储引擎:InnoDB

120618 20:57:32 [错误] 正在中止

我可以使用“--skip-innodb --default-storage-engine=myisam”标志启动服务器,但想使用 innodb。

有人知道这里的问题是什么吗?

答案1

这是配置文件问题。我们正在创建 chef 脚本来进行部署,并使用了 OpCode 的 mysql 包,该包做了一些非常奇怪的事情,弄乱了机器上的 Mysql,这是我们没有预料到的,它将一些配置值设置为不起作用的东西。

如果使用 chef,我建议使用 apt-get 提供的软件包

package "mysql-server" do
  action :install
end
package "mysql-client" do
  action :install
end

然后通过OpCode提供的代码更改密码,或者在服务器安装后更改密码。

这是在 Rackspace 上使用 Ubuntu 12.04 Server 进行的。

答案2

默认情况下,MySQL 应该在您安装时自动启动,然后在重新启动后重新启动;如果没有,那么您一定存在一些配置问题。

您发出的命令mysqld不是在 Ubuntu 中启动 MySQL 的通常方式,并且可能与正常设置冲突:启动/停止/重新启动的推荐方式是使用命令service--例如mysql service restart--并且运行脚本也很常见/etc/init.d/mysql,您可能会在较旧的教程中看到它。

相关内容