在启动时启动MySQL


32

我安装了MySQL,并更改了配置,以便将数据库存储在单独的硬盘驱动器上。在此过程中,MySQL已停止自动启动。启动计算机时,需要运行以下命令:

sudo service mysql start

使MySQL运行。如何使MySQL在启动时启动?

Answers:


2

对不起,我在这里劫持了稍有不同的问题,以提供针对类似情况的解决方案,因此有些偏离主题。由于我通过尝试解决我的一些相关问题而无意中发现了这个问题,因此我请求您原谅。

我在运行Ubuntu 16.04的lxc容器中启动mysql时遇到问题。我尝试update-rc.d mysql defaults了好systemctl enable mysql.service几次,但是mysql没有在启动时出现。甚至没有关于某些错误的日志条目。

lxc容器通过主机的lxc配置文件获取其网络配置,但默认情况下仍配置为启动DHCP客户端。通过在lxc容器中禁用DHCP,我偶然发现了解决方案。这是mysql无法启动的原因,因为它正在等待DHCP客户端完成。由于缺少来自不可用的DHCP服务的任何响应,DHCP无法完成。

因此,以防万一您在这里遇到相同的问题并发现自己处于类似的困境中,请尝试以下操作:编辑/etc/network/interfaces并注释掉注释行

auto eth0
iface eth0 inet dhcp

47

输入此命令:

sudo update-rc.d mysql defaults

2
谢谢。它给我的信息是:update-rc.d:警告:/etc/init.d/mysql缺少LSB信息update-rc.d:请参见< wiki.debian.org/LSBInitScripts > / etc的系统启动/停止链接/init.d/mysql已经存在。似乎还有另一个问题。
Kohjah Breese 2014年

这似乎提供了建议: ubuntuforums.org/showthread.php?t=1475798 重新启动后将报告结果。
Kohjah Breese 2014年

1
@KohjahBreese该解决方案对我有用。您是否已经重新启动以便接受答案?;)
automatix

像魅力一样工作:)
Vineet

0

具有新贵init的Ubuntu

截至14.04,Ubuntu使用upstart进行初始化,因此我们必须检查其配置:如果/etc/init/mysql.override存在且包含manual,则禁用mysql自动启动。

删除.override并重新加载配置:

rm /etc/init/mysql.override
initctl reload-configuration

或者,如果使用SysV初始化

首先清理旧的启动配置,然后编写新的默认配置以避免error System start/stop links for /etc/init.d/mysql already exist

以root身份执行:

update-rc.d -f mysql remove
update-rc.d mysql defaults
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.