技术解析

CentOS,在/etc/rc.d/rc.local 中配置开机自启遇到的问题。
0
1975-02-26 00:58:33
idczone


/usr/local/mysql5.1/bin/mysql_safe --user=mysql &

以上是我手动配置 lnmp 环境中设置开机自启的部分,只有 mysql 无法开机启动?求教!


实在不好意思吐槽一句。
为什么不做成系统服务而要放在启动项里……

这很正常吧。

很不正常,写个 systemd 服务文件很难么?
最短 4 行就好了

chkconfig mysqld on

为什么不是作为服务启动?
你手动启动,能启动吗?
不太正常,好吧。既然要开机启动,不是手动开启的,注册成服务是最简便安全的。

从源码编译安装的话, mysqld 脚本不会自动安装的,应该自己从源码里找到这个脚本和 my.cnf ,复制到相应目录。

看 mysql log

systemd
ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=/path/my.cnf

为什么要自己编译 mysql , yum 安装的不行吗?
要查原因,请先分析相关的日志,不懂的话话再帖出来

楼上各种抓瞎 XD

你确定是 mysql_safe 而不是 mysqld_safe ?
先把你 rc.local 里边的启动命令,复制出来,手动执行一下,看 mysql 能不能启动

哈哈,真相了

看看 rc.local 有没执行权限

我也有了个疑问:
大家是依据什么原则,区分使用 系统自启服务(systemd, upstart 等),和 rc.local 的?




@kn007

我一般都注册成服务,开机自启的。
rc.local 我放的是 echo XXX 或 mknod /dev/ppp XXX 之类的的语句

这个不都是看操作系统支持的吗?例如现在的 Ubuntu15.xx 后开始使用 systemd 作为服务管理器

。。这种提问方式 谁知道为什么没有启动。。

看看 /var/log/messages 有啥报错

楼主这种问了问题就消失的,大家还是散了吧。

可参照
的回答的方向……

永不使用 rc.local 来启动守护进程。
如果发行版不支持 rc.local 以外的方案,那就换个好点的……

是我的疏忽,再次开机测试后发现把 mysqld_safe 写成了 mysql_safe ,实在抱歉。
谢谢大家热心回复!

一直想不明白,为什么你们不愿意用包管理器。。。

编译安装,在配置方面比较自由

你应该 rebuild 官方源码包
rebuild rpm 其实很简单。用一个新用户,然后
yumdownloader --source ...
rpm -i ....src.rpm
builddep SPEC/....spec
rpmbuild -bb SPEC/....spec
要改参数就在.spec 里改,平时升级注意不要覆盖就好了。

嗯,也是个不错的方案呢!

所以可以选择 FreeBSD 或者 gentoo 之类的,自定义起来比较方便

FreeBSD 试过了, gentoo 我会抽时间试试

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服