CentOS7配置开机启动:ndbd与ndb_mgmd服务

需积分: 50 4 下载量 103 浏览量 更新于2024-09-08 收藏 17KB DOCX 举报
"本文主要介绍了如何在CentOS7操作系统中将特定服务设置为开机启动,特别是针对那些不能直接使用systemctl enable命令启动的服务。通过创建自定义系统服务脚本并使用chkconfig工具来实现这一目标。我们将以ndbd和ndb_mgmd为例,展示具体的操作步骤。" 在CentOS7中,`systemd`是默认的服务管理系统,但有些服务可能不完全兼容systemd的启动方式。在这种情况下,我们可以采用传统的`chkconfig`方法来添加和管理开机启动服务。下面我们将详细阐述如何为ndbd和ndb_mgmd这两个服务创建系统服务脚本并设置它们开机启动。 首先,我们来看如何为ndbd服务创建系统服务: 1. 使用`vim`编辑器创建一个名为`ndb`的文件:`vim /etc/init.d/ndb` 2. 在文件中输入以下内容,这将定义启动、停止和重启操作: ``` #!/bin/sh #chkconfig:23458005 #description:ndb case $1 in start) echo "starting ndb" su -c "/usr/sbin/ndbd --connect-retries=-1 --connect-delay=5 -c 172.16.1.180 -c 172.16.1.190" mysql echo "ndb started" ;; stop) echo "stopping ndb" pids=$(ps aux | grep -v grep | grep /usr/sbin/ndbd | awk '{print $2}') for pid in $pids do kill $pid done echo "ndb stopped" ;; restart) $0 stop $0 start ;; *) ;; esac ``` 3. 为脚本赋予执行权限:`chmod +x ndb` 4. 添加服务到chkconfig:`chkconfig --add ndb` 5. 设置服务开机启动:`chkconfig ndb on` 6. 启动服务:`service ndb start` 接下来,我们处理ndb_mgmd服务: 1. 创建服务脚本:`vim /etc/init.d/ndb_mgm` 2. 输入以下内容: ``` #!/bin/sh #chkconfig:23458005 #description:ndb_mgm case $1 in start) echo "starting ndb_mgm" su -c "/usr/sbin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/" mysql echo "ndb_mgm started" ;; stop) echo "stopping ndb_mgm" pids=$(ps aux | grep -v grep | grep /usr/sbin/ndb_mgmd | awk '{print $2}') for pid in $pids do kill $pid done echo "ndb_mgm stopped" ;; restart) $0 stop $0 start ;; *) ;; esac ``` 3. 给脚本添加执行权限:`chmod +x ndb_mgm` 4. 将服务添加到chkconfig:`chkconfig --add ndb_mgm` 5. 设置服务开机启动:`chkconfig ndb_mgm on` 6. 启动服务:`service ndb_mgm start` 通过以上步骤,我们就成功地为ndbd和ndb_mgmd服务创建了系统服务脚本,并设置了它们开机启动。这样,即使这些服务不支持systemctl enable命令,也可以在每次系统启动时自动运行。需要注意的是,虽然CentOS6及其之前版本广泛使用chkconfig,但CentOS7默认使用systemd,因此对于不兼容的服务,我们需要采取这种方式进行配置。