Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
20c2ae39
Commit
20c2ae39
authored
Sep 17, 2015
by
Daniel Black
Committed by
Sergey Vojtovich
Oct 12, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MDEV-427/MDEV-5713 Add systemd script with notify functionality
parent
92271c78
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
551 additions
and
15 deletions
+551
-15
.gitignore
.gitignore
+1
-0
CMakeLists.txt
CMakeLists.txt
+3
-0
cmake/systemd.cmake
cmake/systemd.cmake
+76
-0
config.h.cmake
config.h.cmake
+1
-0
debian/control
debian/control
+1
-0
debian/mariadb-server-10.1.files.in
debian/mariadb-server-10.1.files.in
+1
-0
debian/mariadb-server-10.1.postinst
debian/mariadb-server-10.1.postinst
+6
-0
debian/rules
debian/rules
+9
-0
include/my_systemd.h
include/my_systemd.h
+17
-0
scripts/CMakeLists.txt
scripts/CMakeLists.txt
+1
-0
scripts/mariadb-service-convert
scripts/mariadb-service-convert
+86
-0
scripts/mysqld_safe.sh
scripts/mysqld_safe.sh
+9
-2
sql/CMakeLists.txt
sql/CMakeLists.txt
+2
-1
sql/mysqld.cc
sql/mysqld.cc
+10
-0
storage/innobase/handler/ha_innodb.cc
storage/innobase/handler/ha_innodb.cc
+4
-0
storage/innobase/log/log0recv.cc
storage/innobase/log/log0recv.cc
+14
-6
storage/xtradb/handler/ha_innodb.cc
storage/xtradb/handler/ha_innodb.cc
+5
-0
storage/xtradb/log/log0recv.cc
storage/xtradb/log/log0recv.cc
+14
-6
support-files/CMakeLists.txt
support-files/CMakeLists.txt
+16
-0
support-files/mariadb-bootstrap.conf
support-files/mariadb-bootstrap.conf
+16
-0
support-files/mariadb.service
support-files/mariadb.service
+120
-0
support-files/mariadb@.service.in
support-files/mariadb@.service.in
+133
-0
support-files/rpm/server-postin.sh
support-files/rpm/server-postin.sh
+6
-0
No files found.
.gitignore
View file @
20c2ae39
...
@@ -197,6 +197,7 @@ support-files/config.huge.ini
...
@@ -197,6 +197,7 @@ support-files/config.huge.ini
support-files/config.medium.ini
support-files/config.medium.ini
support-files/config.small.ini
support-files/config.small.ini
support-files/mariadb.pc
support-files/mariadb.pc
support-files/mariadb@.service
support-files/my-huge.cnf
support-files/my-huge.cnf
support-files/my-innodb-heavy-4G.cnf
support-files/my-innodb-heavy-4G.cnf
support-files/my-large.cnf
support-files/my-large.cnf
...
...
CMakeLists.txt
View file @
20c2ae39
...
@@ -151,6 +151,7 @@ INCLUDE(pcre)
...
@@ -151,6 +151,7 @@ INCLUDE(pcre)
INCLUDE
(
ctest
)
INCLUDE
(
ctest
)
INCLUDE
(
plugin
)
INCLUDE
(
plugin
)
INCLUDE
(
install_macros
)
INCLUDE
(
install_macros
)
INCLUDE
(
systemd
)
INCLUDE
(
mysql_add_executable
)
INCLUDE
(
mysql_add_executable
)
# Handle options
# Handle options
...
@@ -328,6 +329,8 @@ CHECK_JEMALLOC()
...
@@ -328,6 +329,8 @@ CHECK_JEMALLOC()
CHECK_PCRE
()
CHECK_PCRE
()
CHECK_SYSTEMD
()
IF
(
CMAKE_CROSSCOMPILING
)
IF
(
CMAKE_CROSSCOMPILING
)
SET
(
IMPORT_EXECUTABLES
"IMPORTFILE-NOTFOUND"
CACHE FILEPATH
"Path to import_executables.cmake from a native build"
)
SET
(
IMPORT_EXECUTABLES
"IMPORTFILE-NOTFOUND"
CACHE FILEPATH
"Path to import_executables.cmake from a native build"
)
INCLUDE
(
${
IMPORT_EXECUTABLES
}
)
INCLUDE
(
${
IMPORT_EXECUTABLES
}
)
...
...
cmake/systemd.cmake
0 → 100644
View file @
20c2ae39
# Copyright (c) 2015, Daniel Black. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# 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 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
INCLUDE
(
FindPkgConfig
)
# http://www.cmake.org/cmake/help/v3.0/module/FindPkgConfig.html
MACRO
(
CHECK_SYSTEMD
)
IF
(
UNIX
)
SET
(
WITH_SYSTEMD
"auto"
CACHE STRING
"Compile with systemd socket activation and notification"
)
IF
(
WITH_SYSTEMD STREQUAL
"yes"
OR WITH_SYSTEMD STREQUAL
"auto"
)
IF
(
PKG_CONFIG_FOUND
)
IF
(
WITH_SYSTEMD STREQUAL
"yes"
)
pkg_check_modules
(
LIBSYSTEMD REQUIRED libsystemd
)
ELSE
()
pkg_check_modules
(
LIBSYSTEMD libsystemd
)
ENDIF
()
IF
(
HAVE_DLOPEN
)
SET
(
LIBSYSTEMD
${
LIBSYSTEMD_LIBRARIES
}
)
#SET(CMAKE_REQUIRED_FLAGS ${LIBSYSTEMD_CFLAGS})
SET
(
MYSQLD_LINK_FLAGS
"
${
MYSQLD_LINK_FLAGS
}
${
LIBSYSTEMD_LDFLAGS
}
"
)
ELSE
()
SET
(
LIBSYSTEMD
${
LIBSYSTEMD_STATIC_LIBRARIES
}
)
#SET(CMAKE_REQUIRED_FLAGS ${LIBSYSTEMD_STATIC_CFLAGS})
SET
(
MYSQLD_LINK_FLAGS
"
${
MYSQLD_LINK_FLAGS
}
${
LIBSYSTEMD_STATIC_LDFLAGS
}
"
)
ENDIF
()
ELSE
()
SET
(
LIBSYSTEMD systemd
)
ENDIF
()
SET
(
CMAKE_REQUIRED_LIBRARIES
${
LIBSYSTEMD
}
)
CHECK_C_SOURCE_COMPILES
(
"
#include <systemd/sd-daemon.h>
int main()
{
sd_listen_fds(0);
}"
HAVE_SYSTEMD
)
CHECK_INCLUDE_FILES
(
systemd/sd-daemon.h HAVE_SYSTEMD_SD_DAEMON_H
)
CHECK_FUNCTION_EXISTS
(
sd_listen_fds HAVE_SYSTEMD_SD_LISTEN_FDS
)
CHECK_FUNCTION_EXISTS
(
sd_notify HAVE_SYSTEMD_SD_NOTIFY
)
CHECK_FUNCTION_EXISTS
(
sd_notifyf HAVE_SYSTEMD_SD_NOTIFYF
)
IF
(
HAVE_SYSTEMD AND HAVE_SYSTEMD_SD_DAEMON_H AND HAVE_SYSTEMD_SD_LISTEN_FDS
AND HAVE_SYSTEMD_SD_NOTIFY AND HAVE_SYSTEMD_SD_NOTIFYF
)
ADD_DEFINITIONS
(
-DHAVE_SYSTEMD
)
# should be from pkg-config --variable=systemdsystemconfdir systemd
# Missing CMake macro: http://public.kitware.com/Bug/view.php?id=15634
SET
(
SYSTEMD_SYSTEM_CONFDIR /etc/systemd/system
)
# should be from pkg-config --variable=systemdsystemunitdir systemd
SET
(
SYSTEMD_SYSTEM_UNITDIR /usr/lib/systemd/system/
)
MESSAGE
(
STATUS
"Systemd features enabled"
)
ELSE
()
UNSET
(
LIBSYSTEMD
)
UNSET
(
HAVE_SYSTEMD_SD_DAEMON_H
)
UNSET
(
HAVE_SYSTEMD_SD_LISTEN_FDS
)
UNSET
(
HAVE_SYSTEMD_SD_NOTIFY
)
UNSET
(
HAVE_SYSTEMD_SD_NOTIFYF
)
MESSAGE
(
STATUS
"Systemd features not enabled"
)
IF
(
WITH_SYSTEMD STREQUAL
"yes"
)
MESSAGE
(
FATAL_ERROR
"Requested WITH_SYSTEMD=YES however no dependencies installed/found"
)
ENDIF
()
ENDIF
()
ENDIF
()
ENDIF
()
ENDMACRO
()
config.h.cmake
View file @
20c2ae39
...
@@ -120,6 +120,7 @@
...
@@ -120,6 +120,7 @@
#cmakedefine HAVE_LIBCRYPT 1
#cmakedefine HAVE_LIBCRYPT 1
#cmakedefine HAVE_LIBMTMALLOC 1
#cmakedefine HAVE_LIBMTMALLOC 1
#cmakedefine HAVE_LIBWRAP 1
#cmakedefine HAVE_LIBWRAP 1
#cmakedefine HAVE_SYSTEMD 1
/* Does
"struct timespec"
have a
"sec"
and
"nsec"
field? */
/* Does
"struct timespec"
have a
"sec"
and
"nsec"
field? */
#cmakedefine HAVE_TIMESPEC_TS_SEC 1
#cmakedefine HAVE_TIMESPEC_TS_SEC 1
...
...
debian/control
View file @
20c2ae39
...
@@ -23,6 +23,7 @@ Build-Depends: bison,
...
@@ -23,6 +23,7 @@ Build-Depends: bison,
zlib1g
-
dev
(>=
1
:
1.1.3
-
5
~),
zlib1g
-
dev
(>=
1
:
1.1.3
-
5
~),
${
MAYBE_LIBCRACK
}
${
MAYBE_LIBCRACK
}
libjemalloc
-
dev
(>=
3.0.0
~)
[
linux
-
any
]
libjemalloc
-
dev
(>=
3.0.0
~)
[
linux
-
any
]
libsystemd
-
daemon
-
dev
|
libsystemd
-
dev
,
dh
-
systemd
Standards
-
Version
:
3.8.2
Standards
-
Version
:
3.8.2
Homepage
:
http
://
mariadb
.
org
/
Homepage
:
http
://
mariadb
.
org
/
Vcs
-
Git
:
https
://
github
.
com
/
MariaDB
/
server
.
git
Vcs
-
Git
:
https
://
github
.
com
/
MariaDB
/
server
.
git
...
...
debian/mariadb-server-10.1.files.in
View file @
20c2ae39
...
@@ -55,6 +55,7 @@ usr/bin/wsrep_sst_mysqldump
...
@@ -55,6 +55,7 @@ usr/bin/wsrep_sst_mysqldump
usr/bin/wsrep_sst_rsync
usr/bin/wsrep_sst_rsync
usr/bin/wsrep_sst_xtrabackup
usr/bin/wsrep_sst_xtrabackup
usr/bin/wsrep_sst_xtrabackup-v2
usr/bin/wsrep_sst_xtrabackup-v2
usr/bin/mariadb-system-convert
usr/share/doc/mariadb-server-10.1/mysqld.sym.gz
usr/share/doc/mariadb-server-10.1/mysqld.sym.gz
usr/share/doc/mariadb-server-10.1/INFO_SRC
usr/share/doc/mariadb-server-10.1/INFO_SRC
usr/share/doc/mariadb-server-10.1/INFO_BIN
usr/share/doc/mariadb-server-10.1/INFO_BIN
...
...
debian/mariadb-server-10.1.postinst
View file @
20c2ae39
...
@@ -276,6 +276,12 @@ if [ "$1" = "configure" ]; then
...
@@ -276,6 +276,12 @@ if [ "$1" = "configure" ]; then
db_go
db_go
fi
fi
# copy out any mysqld_safe settings
systemd_conf
=
/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
if
[
-x
/usr/bin/mariadb-service-convert
-a
!
-f
"
${
systemd_conf
}
"
]
;
then
mkdir
-p
/etc/systemd/system/mariadb.service.d
/usr/bin/mariadb-service-convert
>
"
${
systemd_conf
}
"
fi
fi
fi
db_stop
# in case invoke failes
db_stop
# in case invoke failes
...
...
debian/rules
View file @
20c2ae39
...
@@ -180,6 +180,12 @@ install: build
...
@@ -180,6 +180,12 @@ install: build
install -m 0644 $(builddir)/Docs/INFO_SRC $(TMP)/usr/share/doc/mariadb-server-10.1/INFO_SRC
install -m 0644 $(builddir)/Docs/INFO_SRC $(TMP)/usr/share/doc/mariadb-server-10.1/INFO_SRC
install -m 0644 $(builddir)/Docs/INFO_BIN $(TMP)/usr/share/doc/mariadb-server-10.1/INFO_BIN
install -m 0644 $(builddir)/Docs/INFO_BIN $(TMP)/usr/share/doc/mariadb-server-10.1/INFO_BIN
# systemd helpers
install -m 0755 scripts/mariadb-service-convert $(TMP)/usr/bin/
install -d $(TMP)/etc/systemd/system/mariadb@bootstrap.service.d/
install -m 0644 $(BUILDDIR)/support-files/mariadb-bootstrap.conf \
$(TMP)/etc/systemd/system/mariadb@bootstrap.service.d/wsrep-new-cluster.conf
# mariadb-test
# mariadb-test
mv $(TMP)/usr/mysql-test $(TMP)/usr/share/mysql
mv $(TMP)/usr/mysql-test $(TMP)/usr/share/mysql
...
@@ -215,7 +221,10 @@ binary-indep: build install
...
@@ -215,7 +221,10 @@ binary-indep: build install
dh_installexamples -i
dh_installexamples -i
dh_installmenu -i
dh_installmenu -i
dh_installlogrotate -i
dh_installlogrotate -i
dh_systemd_enable -i support-files/mariadb.service
dh_systemd_enable --no-enable support-files/mariadb@.service
dh_installinit -i
dh_installinit -i
dh_systemd_start -i --restart-after-upgrade mariadb.service
dh_installcron -i
dh_installcron -i
dh_installman -i
dh_installman -i
dh_installinfo -i
dh_installinfo -i
...
...
include/my_systemd.h
0 → 100644
View file @
20c2ae39
#ifndef MY_SYSTEMD_INCLUDED
#define MY_SYSTEMD_INCLUDED
#if defined(HAVE_SYSTEMD) && !defined(EMBEDDED_LIBRARY)
#include <systemd/sd-daemon.h>
#else
#define sd_notify(X, Y)
#define sd_notifyf(E, F, ...)
#endif
#endif
/* MY_SYSTEMD_INCLUDED */
scripts/CMakeLists.txt
View file @
20c2ae39
...
@@ -300,6 +300,7 @@ ELSE()
...
@@ -300,6 +300,7 @@ ELSE()
mysqld_multi
mysqld_multi
mysqld_safe
mysqld_safe
${
WSREP_BINARIES
}
${
WSREP_BINARIES
}
mariadb-service-convert
)
)
FOREACH
(
file
${
BIN_SCRIPTS
}
)
FOREACH
(
file
${
BIN_SCRIPTS
}
)
IF
(
EXISTS
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
file
}
.sh
)
IF
(
EXISTS
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
file
}
.sh
)
...
...
scripts/mariadb-service-convert
0 → 100755
View file @
20c2ae39
#!/bin/bash
# Copyright (c) 2015, Daniel Black. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# 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 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
#
# PURPOSE:
#
# Used to generate a mariadb.service file based on the curent mysql/maridb settings
#
# This is to assist distro maintainers in migrating to systemd service definations from
# a user mysqld_safe settings in the my.cnf files.
#
# Redirect output to user directory like /etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
tz_old
=
$TZ
get_params
()
{
# does a return so needs to be wrapped in a function
# . /usr/bin/mysqld_safe --simulate
.
scripts/mysqld_safe
--simulate
}
get_params
echo
"# converted using
$0
"
echo
"#"
echo
echo
'[Service]'
echo
if
[[
(
"
$user
"
!=
"root"
&&
"
$user
"
!=
"mysql"
)
||
"
${
SET_USER
}
"
==
1
]]
;
then
echo
User
=
$user
fi
[
-n
"
${
open_files
}
"
]
&&
echo
LimitNOFILE
=
$open_files
[
-n
"
${
core_file_size
}
"
]
&&
echo
LimitCore
=
$core_file_size
[[
"
${
niceness
}
"
-gt
0
]]
&&
echo
Nice
=
$niceness
[
"
${
TZ
}
"
!=
"
${
tz_old
}
"
]
&&
echo
Environment
=
\"
TZ
=
${
TZ
}
\"
if
[
-n
"
$mysqld_ld_preload
"
]
;
then
new_text
=
"
$mysqld_ld_preload
"
[
-n
"
$LD_PRELOAD
"
]
&&
new_text
=
"
$new_text
$LD_PRELOAD
"
echo
Environment
=
\"
LD_PRELOAD
=
`
shell_quote_string
"
$new_text
"
`
\"
fi
if
[
-n
"
$mysqld_ld_library_path
"
]
;
then
new_text
=
"
$mysqld_ld_library_path
"
[
-n
"
$LD_LIBRARY_PATH
"
]
&&
new_text
=
"
$new_text
:
$LD_LIBRARY_PATH
"
echo
Environment
=
\"
LD_LIBRARY_PATH
=
`
shell_quote_string
"
$new_text
"
`
\"
fi
if
[[
$want_syslog
-eq
1
]]
;
then
echo
StandardError
=
syslog
echo
SyslogFacility
=
daemon
echo
SyslogLevel
=
error
echo
SyslogLevelPrefix
=
${
syslog_tag_mysqld
}
fi
if
[[
"
${
flush_caches
}
"
-gt
0
]]
;
then
echo
ExecStartPre
=
sync
echo
ExecStartPre
=
sysctl
-q
-w
vm.drop_caches
=
3
fi
if
[[
"
${
numa_interleave
}
"
-gt
0
]]
;
then
echo
echo
ExecStart
=
numactl
--interleave
=
all
${
cmd
}
'${OPTIONS}'
echo
fi
[
-n
"
${
CRASH_SCRIPT
}
"
]
&&
echo
FailureAction
=
${
CRASH_SCRIPT
}
scripts/mysqld_safe.sh
View file @
20c2ae39
...
@@ -21,6 +21,7 @@ mysqld_ld_library_path=
...
@@ -21,6 +21,7 @@ mysqld_ld_library_path=
flush_caches
=
0
flush_caches
=
0
numa_interleave
=
0
numa_interleave
=
0
wsrep_on
=
0
wsrep_on
=
0
simulate
=
0
# Initial logging status: error log is not open, and not using syslog
# Initial logging status: error log is not open, and not using syslog
logging
=
init
logging
=
init
...
@@ -81,6 +82,7 @@ Usage: $0 [OPTIONS]
...
@@ -81,6 +82,7 @@ Usage: $0 [OPTIONS]
--malloc-lib=LIB Preload shared library LIB if available
--malloc-lib=LIB Preload shared library LIB if available
--mysqld=FILE Use the specified file as mysqld
--mysqld=FILE Use the specified file as mysqld
--mysqld-version=VERSION Use "mysqld-VERSION" as mysqld
--mysqld-version=VERSION Use "mysqld-VERSION" as mysqld
--simulate Simulate the start to detect errors but don't start
--nice=NICE Set the scheduling priority of mysqld
--nice=NICE Set the scheduling priority of mysqld
--no-auto-restart Exit after starting mysqld
--no-auto-restart Exit after starting mysqld
--nowatch Exit after starting mysqld
--nowatch Exit after starting mysqld
...
@@ -131,6 +133,7 @@ my_which ()
...
@@ -131,6 +133,7 @@ my_which ()
}
}
log_generic
()
{
log_generic
()
{
[
$simulate
-eq
1
]
&&
return
priority
=
"
$1
"
priority
=
"
$1
"
shift
shift
...
@@ -318,6 +321,7 @@ parse_arguments() {
...
@@ -318,6 +321,7 @@ parse_arguments() {
MYSQLD
=
"mysqld"
MYSQLD
=
"mysqld"
fi
fi
;;
;;
--simulate
)
simulate
=
1
;;
--nice
=
*
)
niceness
=
"
$val
"
;;
--nice
=
*
)
niceness
=
"
$val
"
;;
--nowatch
|
--no
[
-_
]
watch|--no[-_]auto[-_]restart
)
nowatch
=
1
;;
--nowatch
|
--no
[
-_
]
watch|--no[-_]auto[-_]restart
)
nowatch
=
1
;;
--open
[
-_
]
files[-_]limit
=
*
)
open_files
=
"
$val
"
;;
--open
[
-_
]
files[-_]limit
=
*
)
open_files
=
"
$val
"
;;
...
@@ -862,7 +866,7 @@ fi
...
@@ -862,7 +866,7 @@ fi
#
#
# If there exists an old pid file, check if the daemon is already running
# If there exists an old pid file, check if the daemon is already running
# Note: The switches to 'ps' may depend on your operating system
# Note: The switches to 'ps' may depend on your operating system
if
test
-f
"
$pid_file
"
if
test
-f
"
$pid_file
"
&&
[
$simulate
-eq
0
]
then
then
PID
=
`
cat
"
$pid_file
"
`
PID
=
`
cat
"
$pid_file
"
`
if
@CHECK_PID@
if
@CHECK_PID@
...
@@ -937,7 +941,9 @@ fi
...
@@ -937,7 +941,9 @@ fi
# ulimit -n 256 > /dev/null 2>&1 # Fix for BSD and FreeBSD systems
# ulimit -n 256 > /dev/null 2>&1 # Fix for BSD and FreeBSD systems
#fi
#fi
cmd
=
"
`
mysqld_ld_preload_text
`
$NOHUP_NICENESS
"
cmd
=
"
`
mysqld_ld_preload_text
`
$NOHUP_NICENESS
"
[
$simulate
-eq
0
]
&&
cmd
=
''
#
#
# Set mysqld's memory interleave policy.
# Set mysqld's memory interleave policy.
...
@@ -957,7 +963,7 @@ then
...
@@ -957,7 +963,7 @@ then
fi
fi
# Launch mysqld with numactl.
# Launch mysqld with numactl.
cmd
=
"
$cmd
numactl --interleave=all"
[
$simulate
-eq
0
]
&&
cmd
=
"
$cmd
numactl --interleave=all"
elif
test
$numa_interleave
-eq
1
elif
test
$numa_interleave
-eq
1
then
then
log_error
"--numa-interleave is not supported on this platform"
log_error
"--numa-interleave is not supported on this platform"
...
@@ -971,6 +977,7 @@ do
...
@@ -971,6 +977,7 @@ do
done
done
cmd
=
"
$cmd
$args
"
cmd
=
"
$cmd
$args
"
# Avoid 'nohup: ignoring input' warning
# Avoid 'nohup: ignoring input' warning
[
$simulate
-eq
0
]
&&
cmd
=
'true'
test
-n
"
$NOHUP_NICENESS
"
&&
cmd
=
"
$cmd
< /dev/null"
test
-n
"
$NOHUP_NICENESS
"
&&
cmd
=
"
$cmd
< /dev/null"
log_notice
"Starting
$MYSQLD
daemon with databases from
$DATADIR
"
log_notice
"Starting
$MYSQLD
daemon with databases from
$DATADIR
"
...
...
sql/CMakeLists.txt
View file @
20c2ae39
...
@@ -168,7 +168,8 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS}
...
@@ -168,7 +168,8 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS}
mysys mysys_ssl dbug strings vio pcre
${
LIBJEMALLOC
}
mysys mysys_ssl dbug strings vio pcre
${
LIBJEMALLOC
}
${
LIBWRAP
}
${
LIBCRYPT
}
${
LIBDL
}
${
CMAKE_THREAD_LIBS_INIT
}
${
LIBWRAP
}
${
LIBCRYPT
}
${
LIBDL
}
${
CMAKE_THREAD_LIBS_INIT
}
${
WSREP_LIB
}
${
WSREP_LIB
}
${
SSL_LIBRARIES
}
)
${
SSL_LIBRARIES
}
${
LIBSYSTEMD
}
)
IF
(
WIN32
)
IF
(
WIN32
)
SET
(
MYSQLD_SOURCE main.cc nt_servc.cc nt_servc.h message.rc
)
SET
(
MYSQLD_SOURCE main.cc nt_servc.cc nt_servc.h message.rc
)
...
...
sql/mysqld.cc
View file @
20c2ae39
...
@@ -110,6 +110,8 @@
...
@@ -110,6 +110,8 @@
#include <poll.h>
#include <poll.h>
#endif
#endif
#include <my_systemd.h>
#define mysqld_charset &my_charset_latin1
#define mysqld_charset &my_charset_latin1
/* We have HAVE_valgrind below as this speeds up the shutdown of MySQL */
/* We have HAVE_valgrind below as this speeds up the shutdown of MySQL */
...
@@ -1891,6 +1893,8 @@ static void __cdecl kill_server(int sig_ptr)
...
@@ -1891,6 +1893,8 @@ static void __cdecl kill_server(int sig_ptr)
else
else
sql_print_error
(
ER_DEFAULT
(
ER_GOT_SIGNAL
),
my_progname
,
sig
);
/* purecov: inspected */
sql_print_error
(
ER_DEFAULT
(
ER_GOT_SIGNAL
),
my_progname
,
sig
);
/* purecov: inspected */
sd_notify
(
0
,
"STOPPING=1"
);
#ifdef HAVE_SMEM
#ifdef HAVE_SMEM
/*
/*
Send event to smem_event_connect_request for aborting
Send event to smem_event_connect_request for aborting
...
@@ -6543,6 +6547,11 @@ void handle_connections_sockets()
...
@@ -6543,6 +6547,11 @@ void handle_connections_sockets()
socket_flags
=
fcntl
(
mysql_socket_getfd
(
unix_sock
),
F_GETFL
,
0
);
socket_flags
=
fcntl
(
mysql_socket_getfd
(
unix_sock
),
F_GETFL
,
0
);
#endif
#endif
#ifdef HAVE_SYSTEMD
sd_notify
(
0
,
"READY=1
\n
"
"STATUS=Taking your SQL requests now..."
);
#endif
DBUG_PRINT
(
"general"
,(
"Waiting for connections."
));
DBUG_PRINT
(
"general"
,(
"Waiting for connections."
));
MAYBE_BROKEN_SYSCALL
;
MAYBE_BROKEN_SYSCALL
;
while
(
!
abort_loop
)
while
(
!
abort_loop
)
...
@@ -6757,6 +6766,7 @@ void handle_connections_sockets()
...
@@ -6757,6 +6766,7 @@ void handle_connections_sockets()
create_new_thread
(
thd
);
create_new_thread
(
thd
);
set_current_thd
(
0
);
set_current_thd
(
0
);
}
}
sd_notify
(
0
,
"STOPPING=1"
);
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
}
}
...
...
storage/innobase/handler/ha_innodb.cc
View file @
20c2ae39
...
@@ -48,6 +48,8 @@ this program; if not, write to the Free Software Foundation, Inc.,
...
@@ -48,6 +48,8 @@ this program; if not, write to the Free Software Foundation, Inc.,
#include <io.h>
#include <io.h>
#endif
#endif
#include <my_systemd.h>
/** @file ha_innodb.cc */
/** @file ha_innodb.cc */
/* Include necessary InnoDB headers */
/* Include necessary InnoDB headers */
...
@@ -20112,9 +20114,11 @@ ib_logf(
...
@@ -20112,9 +20114,11 @@ ib_logf(
break
;
break
;
case
IB_LOG_LEVEL_ERROR
:
case
IB_LOG_LEVEL_ERROR
:
sql_print_error
(
"InnoDB: %s"
,
str
);
sql_print_error
(
"InnoDB: %s"
,
str
);
sd_notifyf
(
0
,
"STATUS=InnoDB: Error: %s"
,
str
);
break
;
break
;
case
IB_LOG_LEVEL_FATAL
:
case
IB_LOG_LEVEL_FATAL
:
sql_print_error
(
"InnoDB: %s"
,
str
);
sql_print_error
(
"InnoDB: %s"
,
str
);
sd_notifyf
(
0
,
"STATUS=InnoDB: Fatal: %s"
,
str
);
break
;
break
;
}
}
...
...
storage/innobase/log/log0recv.cc
View file @
20c2ae39
...
@@ -30,6 +30,8 @@ Created 9/20/1997 Heikki Tuuri
...
@@ -30,6 +30,8 @@ Created 9/20/1997 Heikki Tuuri
#include <stdio.h> // Solaris/x86 header file bug
#include <stdio.h> // Solaris/x86 header file bug
#include <vector>
#include <vector>
#include <my_systemd.h>
#include "log0recv.h"
#include "log0recv.h"
#ifdef UNIV_NONINL
#ifdef UNIV_NONINL
...
@@ -1801,6 +1803,7 @@ recv_apply_hashed_log_recs(
...
@@ -1801,6 +1803,7 @@ recv_apply_hashed_log_recs(
recv_addr_t
*
recv_addr
;
recv_addr_t
*
recv_addr
;
ulint
i
;
ulint
i
;
ibool
has_printed
=
FALSE
;
ibool
has_printed
=
FALSE
;
ulong
progress
;
mtr_t
mtr
;
mtr_t
mtr
;
dberr_t
err
=
DB_SUCCESS
;
dberr_t
err
=
DB_SUCCESS
;
loop:
loop:
...
@@ -1871,14 +1874,15 @@ loop:
...
@@ -1871,14 +1874,15 @@ loop:
}
}
}
}
progress
=
(
ulong
)
(
i
*
100
)
/
hash_get_n_cells
(
recv_sys
->
addr_hash
);
if
(
has_printed
if
(
has_printed
&&
(
i
*
100
)
/
hash_get_n_cells
(
recv_sys
->
addr_hash
)
&&
progress
!=
((
i
+
1
)
*
100
)
!=
((
i
+
1
)
*
100
)
/
hash_get_n_cells
(
recv_sys
->
addr_hash
))
{
/
hash_get_n_cells
(
recv_sys
->
addr_hash
))
{
fprintf
(
stderr
,
"%lu "
,
progress
);
sd_notifyf
(
0
,
"STATUS=Applying batch of log records for Innodb: "
"Progress %lu"
,
progress
);
fprintf
(
stderr
,
"%lu "
,
(
ulong
)
((
i
*
100
)
/
hash_get_n_cells
(
recv_sys
->
addr_hash
)));
}
}
}
}
...
@@ -1940,6 +1944,7 @@ loop:
...
@@ -1940,6 +1944,7 @@ loop:
if
(
has_printed
)
{
if
(
has_printed
)
{
fprintf
(
stderr
,
"InnoDB: Apply batch completed
\n
"
);
fprintf
(
stderr
,
"InnoDB: Apply batch completed
\n
"
);
sd_notify
(
0
,
"STATUS=InnoDB: Apply batch completed"
);
}
}
mutex_exit
(
&
(
recv_sys
->
mutex
));
mutex_exit
(
&
(
recv_sys
->
mutex
));
...
@@ -2089,8 +2094,11 @@ skip_this_recv_addr:
...
@@ -2089,8 +2094,11 @@ skip_this_recv_addr:
fprintf
(
stderr
,
"%lu "
,
fprintf
(
stderr
,
"%lu "
,
(
ulong
)
((
100
*
i
)
/
n_hash_cells
));
(
ulong
)
((
100
*
i
)
/
n_hash_cells
));
fflush
(
stderr
);
fflush
(
stderr
);
sd_notifyf
(
0
,
"STATUS=Applying batch of log records for backup Innodb: "
"Progress %lu"
,
(
ulong
)
(
100
*
i
)
/
n_hash_cells
);
}
}
}
}
sd_notify
(
0
,
"STATUS=InnoDB: Apply batch for backup completed"
);
recv_sys_empty_hash
();
recv_sys_empty_hash
();
}
}
...
...
storage/xtradb/handler/ha_innodb.cc
View file @
20c2ae39
...
@@ -49,6 +49,9 @@ this program; if not, write to the Free Software Foundation, Inc.,
...
@@ -49,6 +49,9 @@ this program; if not, write to the Free Software Foundation, Inc.,
#ifdef _WIN32
#ifdef _WIN32
#include <io.h>
#include <io.h>
#endif
#endif
#include <my_systemd.h>
/** @file ha_innodb.cc */
/** @file ha_innodb.cc */
/* Include necessary InnoDB headers */
/* Include necessary InnoDB headers */
...
@@ -21308,9 +21311,11 @@ ib_logf(
...
@@ -21308,9 +21311,11 @@ ib_logf(
break
;
break
;
case
IB_LOG_LEVEL_ERROR
:
case
IB_LOG_LEVEL_ERROR
:
sql_print_error
(
"InnoDB: %s"
,
str
);
sql_print_error
(
"InnoDB: %s"
,
str
);
sd_notifyf
(
0
,
"STATUS=InnoDB: Error: %s"
,
str
);
break
;
break
;
case
IB_LOG_LEVEL_FATAL
:
case
IB_LOG_LEVEL_FATAL
:
sql_print_error
(
"InnoDB: %s"
,
str
);
sql_print_error
(
"InnoDB: %s"
,
str
);
sd_notifyf
(
0
,
"STATUS=InnoDB: Fatal: %s"
,
str
);
break
;
break
;
}
}
...
...
storage/xtradb/log/log0recv.cc
View file @
20c2ae39
...
@@ -30,6 +30,8 @@ Created 9/20/1997 Heikki Tuuri
...
@@ -30,6 +30,8 @@ Created 9/20/1997 Heikki Tuuri
#include <stdio.h> // Solaris/x86 header file bug
#include <stdio.h> // Solaris/x86 header file bug
#include <vector>
#include <vector>
#include <my_systemd.h>
#include "log0recv.h"
#include "log0recv.h"
#ifdef UNIV_NONINL
#ifdef UNIV_NONINL
...
@@ -1869,6 +1871,7 @@ recv_apply_hashed_log_recs(
...
@@ -1869,6 +1871,7 @@ recv_apply_hashed_log_recs(
recv_addr_t
*
recv_addr
;
recv_addr_t
*
recv_addr
;
ulint
i
;
ulint
i
;
ibool
has_printed
=
FALSE
;
ibool
has_printed
=
FALSE
;
ulong
progress
;
mtr_t
mtr
;
mtr_t
mtr
;
dberr_t
err
=
DB_SUCCESS
;
dberr_t
err
=
DB_SUCCESS
;
loop:
loop:
...
@@ -1939,14 +1942,15 @@ loop:
...
@@ -1939,14 +1942,15 @@ loop:
}
}
}
}
progress
=
(
ulong
)
(
i
*
100
)
/
hash_get_n_cells
(
recv_sys
->
addr_hash
);
if
(
has_printed
if
(
has_printed
&&
(
i
*
100
)
/
hash_get_n_cells
(
recv_sys
->
addr_hash
)
&&
progress
!=
((
i
+
1
)
*
100
)
!=
((
i
+
1
)
*
100
)
/
hash_get_n_cells
(
recv_sys
->
addr_hash
))
{
/
hash_get_n_cells
(
recv_sys
->
addr_hash
))
{
fprintf
(
stderr
,
"%lu "
,
progress
);
sd_notifyf
(
0
,
"STATUS=Applying batch of log records for Innodb: "
"Progress %lu"
,
progress
);
fprintf
(
stderr
,
"%lu "
,
(
ulong
)
((
i
*
100
)
/
hash_get_n_cells
(
recv_sys
->
addr_hash
)));
}
}
}
}
...
@@ -2008,6 +2012,7 @@ loop:
...
@@ -2008,6 +2012,7 @@ loop:
if
(
has_printed
)
{
if
(
has_printed
)
{
fprintf
(
stderr
,
"InnoDB: Apply batch completed
\n
"
);
fprintf
(
stderr
,
"InnoDB: Apply batch completed
\n
"
);
sd_notify
(
0
,
"STATUS=InnoDB: Apply batch completed"
);
}
}
mutex_exit
(
&
(
recv_sys
->
mutex
));
mutex_exit
(
&
(
recv_sys
->
mutex
));
...
@@ -2159,8 +2164,11 @@ skip_this_recv_addr:
...
@@ -2159,8 +2164,11 @@ skip_this_recv_addr:
fprintf
(
stderr
,
"%lu "
,
fprintf
(
stderr
,
"%lu "
,
(
ulong
)
((
100
*
i
)
/
n_hash_cells
));
(
ulong
)
((
100
*
i
)
/
n_hash_cells
));
fflush
(
stderr
);
fflush
(
stderr
);
sd_notifyf
(
0
,
"STATUS=Applying batch of log records for backup Innodb: "
"Progress %lu"
,
(
ulong
)
(
100
*
i
)
/
n_hash_cells
);
}
}
}
}
sd_notify
(
0
,
"STATUS=InnoDB: Apply batch for backup completed"
);
recv_sys_empty_hash
();
recv_sys_empty_hash
();
}
}
...
...
support-files/CMakeLists.txt
View file @
20c2ae39
...
@@ -76,7 +76,23 @@ IF(UNIX)
...
@@ -76,7 +76,23 @@ IF(UNIX)
INSTALL
(
PROGRAMS
${
CMAKE_CURRENT_BINARY_DIR
}
/mysql.server
INSTALL
(
PROGRAMS
${
CMAKE_CURRENT_BINARY_DIR
}
/mysql.server
DESTINATION
${
inst_location
}
COMPONENT SupportFiles
)
DESTINATION
${
inst_location
}
COMPONENT SupportFiles
)
IF
(
SYSTEMD_SYSTEM_UNITDIR
)
CONFIGURE_FILE
(
mariadb@.service.in
${
CMAKE_CURRENT_BINARY_DIR
}
/mariadb@.service @ONLY
)
# @ in directory name broken between CMake version 2.8.12.2 and 3.3
# http://public.kitware.com/Bug/view.php?id=14782
INSTALL
(
FILES
${
CMAKE_CURRENT_SOURCE_DIR
}
/mariadb-bootstrap.conf
DESTINATION
"
${
SYSTEMD_SYSTEM_UNITDIR
}
/mariadb@bootstrap.service.d"
COMPONENT Server
)
INSTALL
(
FILES
${
CMAKE_CURRENT_BINARY_DIR
}
/mariadb@.service
${
CMAKE_CURRENT_SOURCE_DIR
}
/mariadb.service
DESTINATION
${
SYSTEMD_SYSTEM_UNITDIR
}
COMPONENT Server
)
ENDIF
()
IF
(
INSTALL_SYSCONFDIR
)
IF
(
INSTALL_SYSCONFDIR
)
INSTALL
(
FILES
${
CMAKE_CURRENT_BINARY_DIR
}
/mysql-log-rotate DESTINATION
${
INSTALL_SYSCONFDIR
}
/logrotate.d
INSTALL
(
FILES
${
CMAKE_CURRENT_BINARY_DIR
}
/mysql-log-rotate DESTINATION
${
INSTALL_SYSCONFDIR
}
/logrotate.d
RENAME mysql COMPONENT SupportFiles
)
RENAME mysql COMPONENT SupportFiles
)
INSTALL
(
PROGRAMS
${
CMAKE_CURRENT_BINARY_DIR
}
/mysql.server
INSTALL
(
PROGRAMS
${
CMAKE_CURRENT_BINARY_DIR
}
/mysql.server
...
...
support-files/mariadb-bootstrap.conf
0 → 100644
View file @
20c2ae39
#
# Install as /etc/systemd/system/mariadb@bootstrap.service.d/wsrep-new-cluster.conf
#
# This uses the multi instance version as a base.
#
[
Unit
]
ConditionPathExists
=
[
Service
]
# Override the multi instance service for a bootstrap start instance
ExecStart
=
ExecStart
=/
usr
/
sbin
/
mysqld
$
EXTRA_ARGS
--
wsrep
-
new
-
cluster
support-files/mariadb.service
0 → 100644
View file @
20c2ae39
#
# /etc/systemd/system/mariadb.service
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Thanks to:
# Daniel Black
# Erkan Yanar
# David Strauss
# and probably others
[Unit]
Description=MariaDB database server
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
Alias=mysql.service
Alias=mysqld.service
[Service]
##############################################################################
## Core requirements
##
Type=notify
# Setting this to true can break replication and the Type=notify settings
PrivateNetwork=false
##############################################################################
## Package maintainers
##
User=mysql
# Execute pre and post scripts as root, otherwise it does it as User=
# PermissionsStartOnly=true
# Needed to create system tables etc.
# ExecStartPre=/usr/bin/mysql_install_db
# Start main service
# EXTRA_ARGS here is for users to set in /etc/systemd/system/mariadb.service.d/MY_SPECIAL.conf
# Use the [service] section and Environment="EXTRA_ARGS=...".
# This isn't a replacement for my.cnf.
ExecStart=/usr/sbin/mysqld $EXTRA_ARGS
KillMode=process
KillSignal=SIGTERM
# Don't want to see an automated SIGKILL ever
SendSIGKILL=no
# Exit status 1 is a fatal config error. Restarting won't help.
RestartPreventExitStatus=1
Restart=on-failure
RestartSec=5s
PrivateDevices=true
UMask=077
##############################################################################
## USERs can override
##
##
## by creating a file in /etc/systemd/system/mariadb.service.d/MY_SPECIAL.conf
## and adding/setting the following will override this file's settings.
# Useful options not previously available in [mysqld_safe]
# Kernels like killing mysqld when out of memory because its big.
# Lets temper that preference a little.
OOMScoreAdjust=-600
# Explicitly start with high IO priority
BlockIOWeight=1000
# If you don't use the /tmp directory for SELECT ... OUTFILE and
# LOAD DATA INFILE you can enable PrivateTmp=true for a little more security.
PrivateTmp=false
##
## Options previously available to be set via [mysqld_safe]
## that now needs to be set by systemd config files as mysqld_safe
## isn't executed.
##
# Number of files limit. previously [mysqld_safe] open-file-limit
LimitNOFILE=16364
# Maximium core size. previously [mysqld_safe] core-file-size
# LimitCore=
# Nice priority. previously [mysqld_safe] nice
# Nice=-5
# Timezone. previously [mysqld_safe] timezone
# Environment="TZ=UTC"
# Library substitutions. previously [mysqld_safe] malloc-lib with explict paths
# (in LD_LIBRARY_PATH) and library name (in LD_PRELOAD).
# Environment="LD_LIBRARY_PATH=/path1 /path2" "LD_PRELOAD=
# Flush caches. previously [mysqld_safe] flush-caches=1
# ExecStartPre=sync
# ExecStartPre=sysctl -q -w vm.drop_caches=3
# numa-interleave=1 equalivant
# Change ExecStart=numactl --interleave=all /usr/sbin/mysqld......
# crash-script equalivent
# FailureAction=
support-files/mariadb@.service.in
0 → 100644
View file @
20c2ae39
# Multi instance version of mariadb. For if you run mutiple verions at once.
# Also used for mariadb@bootstrap to bootstrap Galera.
#
# create config file @INSTALL_SYSCONF2DIR@/my{instancename}.cnf
#
# start as systemctl start mariadb@{instancename}.server
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Thanks to:
# Daniel Black
# Erkan Yanar
# David Strauss
# and probably others
# Inspired from https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-db/mysql-init-scripts/files/mysqld_at.service
[Unit]
Description=MariaDB database server
After=network.target
After=syslog.target
ConditionPathExists=@INSTALL_SYSCONF2DIR@/my%I.cnf
[Install]
WantedBy=multi-user.target
Alias=mysql.service
Alias=mysqld.service
[Service]
##############################################################################
## Core requirements
##
Type=notify
# Setting this to true can break replication and the Type=notify settings
PrivateNetwork=false
##############################################################################
## Package maintainers
##
User=mysql
# Execute pre and post scripts as root, otherwise it does it as User=
# PermissionsStartOnly=true
# Needed to create system tables etc.
# ExecStartPre=/usr/bin/mysql_install_db
# Start main service
# EXTRA_ARGS here is for users to set in /etc/systemd/system/mariadb@.service.d/MY_SPECIAL.conf
# Use the [service] section and Environment="EXTRA_ARGS=...".
# This isn't a replacement for my.cnf.
ExecStart=
ExecStart=/usr/sbin/mysqld $EXTRA_ARGS --defaults-file=@INSTALL_SYSCONF2DIR@/my%I.cnf
# Alternate: (remove ConditionPathExists above)
# use [mysqld.INSTANCENAME] as sections in my.cnf
#
# ExecStart=/usr/sbin/mysqld $EXTRA_ARGS --defaults-group-suffix=%I
KillMode=process
KillSignal=SIGTERM
# Don't want to see an automated SIGKILL ever
SendSIGKILL=no
# Exit status 1 is a fatal config error. Restarting won't help.
RestartPreventExitStatus=1
Restart=on-failure
RestartSec=5s
PrivateDevices=true
UMask=077
##############################################################################
## USERs can override
##
##
## by creating a file in /etc/systemd/system/mariadb.service.d/MY_SPECIAL.conf
## and adding/setting the following will override this file's settings.
# Useful options not previously available in [mysqld_safe]
# Kernels like killing mysqld when out of memory because its big.
# Lets temper that preference a little.
OOMScoreAdjust=-600
# Explicitly start with high IO priority
BlockIOWeight=1000
# If you don't use the /tmp directory for SELECT ... OUTFILE and
# LOAD DATA INFILE you can enable PrivateTmp=true for a little more security.
PrivateTmp=false
##
## Options previously available to be set via [mysqld_safe]
## that now needs to be set by systemd config files as mysqld_safe
## isn't executed.
##
# Number of files limit. previously [mysqld_safe] open-file-limit
LimitNOFILE=16364
# Maximium core size. previously [mysqld_safe] core-file-size
# LimitCore=
# Nice priority. previously [mysqld_safe] nice
# Nice=-5
# Timezone. previously [mysqld_safe] timezone
# Environment="TZ=UTC"
# Library substitutions. previously [mysqld_safe] malloc-lib with explict paths
# (in LD_LIBRARY_PATH) and library name (in LD_PRELOAD).
# Environment="LD_LIBRARY_PATH=/path1 /path2" "LD_PRELOAD=
# Flush caches. previously [mysqld_safe] flush-caches=1
# ExecStartPre=sync
# ExecStartPre=sysctl -q -w vm.drop_caches=3
# numa-interleave=1 equalivant
# Change ExecStart=numactl --interleave=all /usr/sbin/mysqld......
# crash-script equalivent
# FailureAction=
support-files/rpm/server-postin.sh
View file @
20c2ae39
# Make MySQL start/shutdown automatically when the machine does it.
# Make MySQL start/shutdown automatically when the machine does it.
if
[
$1
=
1
]
;
then
if
[
$1
=
1
]
;
then
systemd_conf
=
/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
if
[
-x
/usr/bin/mariadb-service-convert
-a
!
-f
"
${
systemd_conf
}
"
]
;
then
mkdir
-p
/etc/systemd/system/mariadb.service.d
/usr/bin/mariadb-service-convert
>
"
${
systemd_conf
}
"
fi
if
[
-x
/usr/bin/systemctl
]
;
then
if
[
-x
/usr/bin/systemctl
]
;
then
/usr/bin/systemctl daemon-reload
>
/dev/null 2>&1
/usr/bin/systemctl daemon-reload
>
/dev/null 2>&1
fi
fi
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment