ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

设置MySQL随操作系统Ubuntu启动

2026/8/10 21:12:27 拓冰建站 浏览量
设置MySQL随操作系统Ubuntu启动

设置 MySQL 5.7 随操作系统Ubuntu启动。
/etc/init.d/mysqld start

 

Ubuntu 设置 /etc/init.d/mysqld 开机自启(适配你源码安装的 MySQL)

方案可行可用

你的 MySQL 是手动二进制安装,启动脚本为 /etc/init.d/mysqld,Ubuntu 使用 update-rc.d 注册 SysV 脚本实现开机自启,分完整步骤操作:

一、确认脚本权限

脚本必须拥有可执行权限,先执行:

chmod +x /etc/init.d/mysqld
# 查看权限验证
ls -l /etc/init.d/mysqld
root@guoleiserver:/etc# ls -l /etc/init.d/mysqld
-rwxr-xr-x 1 root root 10576  5月  4 20:08 /etc/init.d/mysqld

二、注册开机自启(核心命令)

# 添加默认运行级别开机启动链接
update-rc.d mysqld defaults
  • defaults:自动在开机 2/3/4/5 多用户级别设置启动,关机 0/1/6 停止
  • 无报错即代表注册成功

补充:如果后续想关闭自启

# 取消开机自启
update-rc.d mysqld disable
# 彻底删除自启链接
update-rc.d -f mysqld remove

三、验证自启配置是否生效

方式 1:查看 rc 运行级软链接

ls /etc/rc2.d/S*mysqld
root@guoleiserver:/etc# ls /etc/rc2.d/S*mysqld
/etc/rc2.d/S01mysqld

出现 Sxxmysqld 文件 = 开机启动成功(S 代表 Start)

方式 2:重启服务器测试

reboot
# 重启后登录查看MySQL状态
systemctl status mysqld
# 或
/etc/init.d/mysqld status

输出 running 代表开机自动拉起 MySQL。

 

 

 

四、备选兜底方案(update-rc.d 异常时用 rc.local)

若上面注册失败,使用系统开机脚本兜底:

  1. 编辑 rc.local
vim /etc/rc.local
  1. exit 0 上方插入启动命令
sleep 3
/etc/init.d/mysqld start
exit 0
  1. 赋予执行权限并启用 rc-local 服务
chmod +x /etc/rc.local
systemctl enable rc-local
systemctl start rc-local

五、配套 MySQL 启停管理命令

# 启动MySQL
/etc/init.d/mysqld start
# 停止MySQL
/etc/init.d/mysqld stop
# 重启MySQL
/etc/init.d/mysqld restart
# 查看运行状态
/etc/init.d/mysqld status

六、解决之前 systemctl enable 报错补充说明

你之前执行 systemctl enable mysql 提示 transient/generated,原因: mysqld.service 是 systemd 自动转换的临时兼容单元,无法直接 enable; 使用 update-rc.d 操作原始 /etc/init.d/mysqld 脚本是原生兼容方案,不会出现该报错。

七、数据库正常后重启 uWSGI 修复 Django 500 报错

MySQL 开机自启配置完成后,重启 uWSGI 重建数据库连接:

uwsgi --stop /home/guolei/backend/uwsgi.pid
uwsgi --ini /home/guolei/backend/uwsgi.ini