# mkdir /etc/systemd/system/mysqld.service.d
cat >/etc/systemd/system/mysqld.service.d/avoid_oom.conf<<EOF
# avoid oom-killer
[Service]
ExecStartPost=/bin/sudo /usr/local/bin/oom_mysql.sh
EOF
重载 systemctl units
systemctl daemon-reload
文件 /usr/local/bin/oom_mysql.sh 内容如下
#!/bin/bash
MYSQL_PID=$(pgrep mysqld)
for var in ${MYSQL_PID[@]};do
echo "-100" > /proc/$var/oom_score_adj
done
chmod 755 /usr/local/bin/oom_mysql.sh
把你要增加的sudoers配置放在/etc/sudoers.d/ 目录下的文件中,文件名可以随意。
# visudo -f /etc/sudoers.d/4mysql
Defaults:mysql !requiretty
mysql ALL=(ALL) NOPASSWD: /usr/local/bin/oom_mysql.sh