分享

centos mysql添加服务_CentOS7中将Mysql添加为系统服务

 rongq2007 2024-05-31 发布于广东

如果是自己通过tar包安装的Mysql,不会自动添加到系统服务中,可通过如下方式,自己添加。

先启动一下mysql

${mysql}/support-files/mysql.server start

成功后,通过ps命令查看pid文件路径

ps -ef|grep mysql

结果如下图,其中红框中的内容即为pid文件路径(此路径在下面用到)。

b6affbd5bcd58daf42cfc2dbeb092fb4.png

在/usr/lib/systemd/system目录下增加mysql.service,内容如下,其中XXX.pid即为上一步获取到的pid文件路径,这里不是胡写的。

[Unit]

Description=Mysql

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/usr/local/mysql/data/XXX.pid

ExecStart=/usr/local/mysql/support-files/mysql.server start

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=false

[Install]

WantedBy=multi-user.target

重新载入单元,扫描新的或有变化的单元,使刚刚添加的mysql.service生效

systemctl daemon-reload

此后,则可通过如下命令操作Mysql

systemctl enable mysql

systemctl start mysql

systemctl stop mysql

systemctl restart mysql

如上四条命令分别为:

设为开机启动

启动

停止

重启



添加mysql服务单元

要在Python中添加MySQL服务单元,您可以使用systemd库,该库允许您以编程方式控制systemd系统和服务管理器。以下是一个简单的例子,展示了如何使用systemd库在Python中添加MySQL服务单元。

首先,确保您的系统上安装了systemd库,并且您有足够的权限来管理服务。

import systemd# 创建一个代表本地systemd守护进程的对象manager = systemd.Manager()# 创建一个新的服务单元mysql_service = manager.create_service('mysql.service')# 设置服务单元的属性properties = {'ExecStart': '/usr/bin/mysqld_safe',  # 修改为您的MySQL启动命令'PrivateTmp': 'true','User': 'mysql',  # 修改为运行MySQL的用户'Group': 'mysql',  # 修改为运行MySQL的组}# 将属性应用到服务单元mysql_service.update(properties)# 加载服务单元mysql_service.load()# 启动服务mysql_service.start()# 获取服务状态print(mysql_service.get_property('ActiveState'))

请注意,这个例子假设您已经安装了MySQL,并且知道如何正确设置ExecStart属性。您需要根据实际情况调整这些属性。

在运行此代码之前,请确保您有足够的权限来管理systemd服务,或者使用sudo运行您的Python脚本。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多