CentOS7中将MySQL注册为系统服务&开机启动

实际生产环境中为了避免重启服务器后所有的服务都手动启动带来的麻烦,建议所有基础服务都设置为开机自动启动。本章节我们主要演示在Centos7中如何将MySQL注册为系统服务,并实现开机自动启动。

① 手动启动mysql,查看进程信息,复制pid-file后的路径。

bash 复制代码
/usr/local/mysql/support-files/mysql.server start

② 在 /usr/lib/systemd/system 目录下创建一个文件 mysql.service

③ 编辑 mysql.service,输入以下内容

bash 复制代码
[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/mysql/data/centos-linux.shared.pid
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mysql/support-files/mysql.server stop
PrivateTmp=false

[Install]
WantedBy=multi-user.target

备注:

  • Type:
    • forking: 以 fork 方式从父进程创建子进程,创建后父进程会立即退出
    • simple: 默认值,执行ExecStart指定的命令,启动主进程
  • PIDFile: 启动后进程对应的pid文件路径
  • ExecStart: 服务启动命令,命令需要绝对路径
  • ExecReload: 服务重启命令
  • ExecStop: 服务停止命令,命令需要绝对路径

③ 重新载入service服务

bash 复制代码
systemctl daemon-reload

④ 注册系统服务成功,可以使用systemctl来操作mysql服务,启动服务后最好使用ps -ef | grep mysql查看进程信息,确保正常启动。

bash 复制代码
systemctl start mysql
systemctl stop mysql

⑤ 设置mysql服务开机启动

bash 复制代码
systemctl enable mysql

⑥ 重启Linux验证

bash 复制代码
reboot
相关推荐
Java爱好狂.6 小时前
分布式ID|从源码角度深度解析美团Leaf双Buffer优化方案
java·数据库·分布式·分布式id·es·java面试·java程序员
Elastic 中国社区官方博客6 小时前
通过混合搜索重排序提升多语言嵌入模型的相关性
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
倔强的石头1067 小时前
KingbaseES:从兼容到超越,详解超越MySQL的权限隔离与安全增强
数据库·mysql·安全·金仓数据库
小鸡毛程序员7 小时前
我在CSDN学MYSQL之----数据库基本概念和基本知识(下)
数据库·mysql
米花町的小侦探7 小时前
解决 GORM + MySQL 5.7 报错:Error 1067: Invalid default value for ‘updated_at‘
mysql
程序定小飞8 小时前
基于springboot的web的音乐网站开发与设计
java·前端·数据库·vue.js·spring boot·后端·spring
小灰灰搞电子8 小时前
Rust 操作Sqlite数据库详细教程
数据库·rust·sqlite
IvorySQL8 小时前
你真的知道你正在运行哪个 PostgreSQL吗?
数据库·postgresql
l1t9 小时前
利用DeepSeek采用hugeint转字符串函数完善luadbi-duckdb的decimal处理
数据库·lua·c·duckdb·deepseek
无敌最俊朗@9 小时前
Qt 开发终极坑点手册图表版本
数据库