我安装了MySQL,并更改了配置,以便将数据库存储在单独的硬盘驱动器上。在此过程中,MySQL已停止自动启动。启动计算机时,需要运行以下命令:
sudo service mysql start
使MySQL运行。如何使MySQL在启动时启动?
我安装了MySQL,并更改了配置,以便将数据库存储在单独的硬盘驱动器上。在此过程中,MySQL已停止自动启动。启动计算机时,需要运行以下命令:
sudo service mysql start
使MySQL运行。如何使MySQL在启动时启动?
Answers:
对不起,我在这里劫持了稍有不同的问题,以提供针对类似情况的解决方案,因此有些偏离主题。由于我通过尝试解决我的一些相关问题而无意中发现了这个问题,因此我请求您原谅。
我在运行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
输入此命令:
sudo update-rc.d mysql defaults
截至14.04,Ubuntu使用upstart进行初始化,因此我们必须检查其配置:如果/etc/init/mysql.override
存在且包含manual
,则禁用mysql自动启动。
删除.override并重新加载配置:
rm /etc/init/mysql.override
initctl reload-configuration
首先清理旧的启动配置,然后编写新的默认配置以避免error System start/stop links for /etc/init.d/mysql already exist
。
以root身份执行:
update-rc.d -f mysql remove
update-rc.d mysql defaults