我安装了 MySQL,并更改了配置,以便将数据库存储在单独的硬盘上。在此过程中,MySQL 已停止自动启动。当我启动计算机时,我需要运行以下命令:
sudo service mysql start
让 MySQL 运行。如何让 MySQL 在启动时启动?
答案1
输入此命令:
sudo update-rc.d mysql defaults
答案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
答案3
Ubuntu 带有 upstart init
截至 14.04 版,Ubuntu 使用 upstart 进行 init,因此我们必须检查其配置:如果/etc/init/mysql.override
存在且包含,manual
则禁用 mysql 的自动启动。
删除 .override 并重新加载配置:
rm /etc/init/mysql.override
initctl reload-configuration
或者如果使用 SysV init
首先清理旧的启动配置,然后写入新的默认配置以避免错误System start/stop links for /etc/init.d/mysql already exist
。
以 root 身份执行:
update-rc.d -f mysql remove
update-rc.d mysql defaults
答案4
这对我使用 Ubuntu 22.04 和 MySQL 8.2.0 有效:
sudo systemctl enable mysql