我正在尝试设置这些值:
#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
还应确认这些选项不再可用。