如果是自己通过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
如上四条命令分别为:
设为开机启动
启动
停止
重启


要在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脚本。
|