From 2a40cb11f7265a900c4868ba8c0a6feeb0e5380f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Sat, 6 Jan 2024 20:02:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86?= =?UTF-8?q?=E8=BD=AF=E4=BB=B6=20systemd=20=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/mysql/install.sh | 43 ++++------------------------------- scripts/openresty/install.sh | 1 + scripts/postgresql/install.sh | 1 + 3 files changed, 6 insertions(+), 39 deletions(-) diff --git a/scripts/mysql/install.sh b/scripts/mysql/install.sh index 80534f6a..7ecc12c5 100644 --- a/scripts/mysql/install.sh +++ b/scripts/mysql/install.sh @@ -306,38 +306,10 @@ ${mysqlPath}/bin/mysqld --initialize-insecure --user=mysql --basedir=${mysqlPath echo "export PATH=${mysqlPath}/bin:\$PATH" >> /etc/profile.d/mysql.sh source /etc/profile -# 检查 systemd 文件是否存在 -if [ -f "${mysqlPath}/lib/systemd/system/mysqld.service" ]; then - mkdir -p ${mysqlPath}/lib/systemd/system - cat > ${mysqlPath}/lib/systemd/system/mysqld.service << EOF -# Copyright (c) 2015, 2023, Oracle and/or its affiliates. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License, version 2.0, -# as published by the Free Software Foundation. -# -# This program is also distributed with certain software (including -# but not limited to OpenSSL) that is licensed under separate terms, -# as designated in a particular file or component or in included license -# documentation. The authors of MySQL hereby grant you an additional -# permission to link the program and your derivative works with the -# separately licensed software that they have included with MySQL. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License, version 2.0, for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -# systemd service file for MySQL forking server -# - +# 写入 systemd 配置 +cat > /etc/systemd/system/mysqld.service << EOF [Unit] Description=MySQL Server -Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target @@ -359,17 +331,14 @@ TimeoutSec=0 # Execute pre and post scripts as root PermissionsStartOnly=true -# Needed to create system tables -ExecStartPre=/www/server/mysql/bin/mysqld_pre_systemd - # Start main service -ExecStart=/www/server/mysql/bin/mysqld --daemonize --pid-file=/www/server/mysql/mysqld.pid $MYSQLD_OPTS +ExecStart=/www/server/mysql/bin/mysqld --daemonize --pid-file=/www/server/mysql/mysqld.pid \$MYSQLD_OPTS # Use this to switch malloc implementation EnvironmentFile=-/etc/sysconfig/mysql # Sets open_files_limit -LimitNOFILE = 5000 +LimitNOFILE = 500000 Restart=on-failure @@ -377,10 +346,6 @@ RestartPreventExitStatus=1 PrivateTmp=false EOF -fi - -cp ${mysqlPath}/lib/systemd/system/mysqld.service /etc/systemd/system/mysqld.service -sed -i '/ExecStartPre/d' /etc/systemd/system/mysqld.service systemctl daemon-reload systemctl enable mysqld diff --git a/scripts/openresty/install.sh b/scripts/openresty/install.sh index 237385e2..fcf65274 100644 --- a/scripts/openresty/install.sh +++ b/scripts/openresty/install.sh @@ -642,6 +642,7 @@ ExecStartPre=/www/server/openresty/sbin/nginx -t -c /www/server/openresty/conf/n ExecStart=/www/server/openresty/sbin/nginx -c /www/server/openresty/conf/nginx.conf ExecReload=/www/server/openresty/sbin/nginx -s reload ExecStop=/www/server/openresty/sbin/nginx -s quit +LimitNOFILE=500000 [Install] WantedBy=multi-user.target diff --git a/scripts/postgresql/install.sh b/scripts/postgresql/install.sh index c65a02b4..eb2b8e32 100644 --- a/scripts/postgresql/install.sh +++ b/scripts/postgresql/install.sh @@ -171,6 +171,7 @@ ExecReload=/bin/kill -HUP \$MAINPID KillMode=mixed KillSignal=SIGINT TimeoutSec=infinity +LimitNOFILE=500000 [Install] WantedBy=multi-user.target