背景
CentOS7下的所有服务命令都已重定向到systemctl。 PerconaMySQL安装完成后,将自动添加启动服务。 其服务脚本文件为mysql.service。 如果需要修改此服务脚本,如何添加numa控件? 本文讨论这个问题。搜索
问题
MySQL启动服务文件将得到以下结果:find//name MySQL.service/etc /系统/系统/MySQL .服务
因为想修改文件,进入目录,准备下载到本机,但是每次下载失败。 仔细观察后,发现文件名前面有一个剪辑图标,是一个软链接。
分析
实际上,mysql.service的实际文件路径是/usr/lib/systemd/system/mysqld.service。 内容如下。单元
说明=MySQL服务器
文档=man : mysqld (8) )。
文档=http://dev.MySQL.com/doc/ref man/en/using -系统. html
after=网络.目标
after=系统日志.目标
安装
wanted by=多用户.目标
alias=MySQL .服务
服务
用户=MySQL
组=MySQL
类型=福克斯
pidfile=/var/run/mysqld/mysqld.PID
# # disableservicestartandstoptimeoutlogicofsystemdformysqldservice。
TimeoutSec=0
# # executepreandpostscriptsasroot
持续时间=真
# #需要创建系统表
execstartpre=/usr/fzdyx/mysqld _预系统
# #开始主服务
ecstart=/usr/fzdyx/numactl-- cpufzdyxd=0--memfzdyxd=0/usr/SF zdyx/mysqld--大型文件=
/var/run/mysqld/mysqld.PID $ mysqld _ opts
# # usethistoswitchmallocimplementation
环境文件=--/etc /系统配置/MySQL
# # sets开启档案限制
LimitNOFILE=5000
重新开始=失败
RestartPreventExitStatus=1
PrivateTmp=false这是systemd统一的服务配置,install标签中的Alias=mysql.service我们常用的服务MySQL就是这个服务,它的真实服务名是mysqld
首先,编辑/etc/systemd/system/MySQL.service以修改ExecStart的配置并添加内核频带逻辑。
execstart=/usr/fzdyx/numactl-- cpufzdyxd=0--memfzdyxd=0/usr/SF zdyx/mysqld-- daemonize-- PID-file=//
由于此处设置的命令不是直接执行的命令,因此所有命令名称都必须通过所有路径,不能直接使用numactl命令。 否则,会报告错误,导致启动失败。
修改此链接文件后,其真实文件mysqld.service也自动修改。
然后,必须运行reload命令才能在修改引导服务文件后生效。
systemctldaemon-reloadservicemysqlrestart