在centos 7.x之前的版本中,系统启动时,首先调用的程序是init,然后init会启动系统所需的所有服务,无论是本地服务还是网络服务。所有服务的启动脚本都存放在/etc/init.d目录下,这些脚本通常是用bash shell编写的。
从CentOS 7.x开始,Red Hat放弃了init启动脚本的方法,转而采用systemd作为启动服务管理机制。
| 目录 | 说明 |
|---|---|
| /lib/system/system/ | 使用CentOS官方提供的软件安装后,默认的启动脚本配置文件都放在这里,尽量不要修改这里的数据。如果需要修改,请在/etc/system/system/下进行。 |
| /etc/system/system/ | 管理员根据主机系统需求创建的执行脚本,这个目录类似于之前的/etc/rc.d/rc5.d/Sxx。执行优先级高于/run/system/system/。 |
| /run/system/system/ | 系统执行过程中产生的服务脚本。 |
在之前的安装中,我们通常通过support-files/mysql.server(单实例)和support-files/mysqld_multi.server(多实例)来配置服务。
例如:https://www.php.cn/link/803d1665f18163c7851eadf4f7ed6120

再如:https://www.php.cn/link/544c335154f6eaf79e2dff463a852e78

管理MySQL服务的脚本位于mysql.server和mysqld_multi.server文件中。
这些脚本复杂且修改起来较为困难。例如,如果我想配置多实例,但不想修改现有的my.cnf配置文件,如果新实例的配置文件命名为my3307.cnf,使用旧方法修改mysql.server就变得很麻烦。
而使用systemd则更为简单。
例如,定义一个测试服务为mysql3307.service:

[Unit] Description=MySQL Server After=network.target <p>[Install] WantedBy=multi-user.target</p><p>[Service] Type=forking TimeoutSec=0 PermissionsStartOnly=true ExecStart=/data/mysql57/bin/mysqld --defaults-file=/etc/my3307.cnf --daemonize LimitNOFILE = 65535 Restart=on-failure RestartSec=3 RestartPreventExitStatus=1 PrivateTmp=false
此服务的其他操作命令:
systemctl enable mysql3307.service --- 设置开机自启动systemctl start mysql3307.service ---- 启动此服务systemctl stop mysql3307.service ----- 关闭此服务systemctl status mysql3307.service ----- 查看服务状态注意:
/data/mysql57/bin/mysqld 是可执行文件的路径;/etc/my3307.cnf 是配置文件的路径。Restart=on-failure 决定在服务失败时是否自动重启;RestartSec=3 定义尝试重启的间隔时间。以上就是通过systemctl管理mysqld服务的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号