添加 skip-innodb 后 mysql 无法启动

添加 skip-innodb 后 mysql 无法启动

我正在尝试设置这些值:

#skip-bdb
#skip-locking
#skip-innodb

当我将它们添加到/etc/mysql/my.cnf,即使我打开它们,在执行服务重新启动后,mysql 仍无法启动,并且没有打印任何错误消息。

sudo service mysql restart
[ ok ] Stopping MySQL database server: mysqld.
[FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

之前我确保我没有 InnoDB 表,并且所有该类型的文件都已被删除。

我尝试寻找错误文件但找不到它:

  • /var/log/mysql.err是一个 0 字节文件
  • /var/log/mysql文件夹没有文件

rsyslog在过去已用 进行了更改inetutils-syslogd,这可能已经更改了日志文件,这可能是我看不到任何错误日志的原因,而我不知道如何查看或继续。

答案1

语法已更改。假设您尝试禁用 InnoDB,以便改用 MyISAM 存储提供程序,请按照以下方法操作。不要使用skip-innodb,而是使用

innodb=OFF
default_storage_engine=MyISAM

在您的/etc/mysql/my.cnf(部分下[mysqld])。请注意,您需要两者:禁用 InnoDB 的新语法是innodb=OFF,但您还需要指定其他默认存储引擎来替换 InnoDB。要验证此操作是否成功,请重新启动 MySQL 并运行

mysqladmin -u root -p var | grep have_innodb

你应该看到结果

| have_innodb                                       | DISABLED              |

也可以看看https://stackoverflow.com/a/11772814/781723

我不知道skip-bdb或 的等价词是什么skip-locking

答案2

当前的 mysql 软件包中没有这些选项。如果包含其中任何一个,都会导致 mysql 无法启动。如果您想查看错误,可以mysqld在 shell 中以 root 身份手动运行它,我希望看到它在遇到第一个无效选项时死机。

mysqld --help --verbose您可以通过在命令行上 运行来获取可用配置参数的列表。mysqld --help --verbose | grep skip还应确认这些选项不再可用。

相关内容