forked from pool/mariadb
Kristyna Streitova
a74babaaed
- update to 10.2.13 GA * notable changes * InnoDB updated to 5.7.21 * Galera wsrep library updated to 25.3.23 * MDEV-13869 - MariaDB slow start * MDEV-14611 - ALTER TABLE EXCHANGE PARTITION does not work properly when used with DATA DIRECTORY * MDEV-15249 - Crash in MVCC read after IMPORT TABLESPACE * Foreign key bugs: * MDEV-15199 - Referential integrity broken in ON DELETE CASCADE/MDEV-14222 Unnecessary 'cascade' memory allocation for every updated row * MDEV-15219 - FOREIGN KEY CASCADE or SET NULL operations will not resume after lock wait * MDEV-15042 - INSERT ON DUPLICATE KEY UPDATE produces error 1032 (Can't find record) * MDEV-13205 - InnoDB: Failing assertion: !dict_index_is_online_ddl(index) upon ALTER TABLE * MDEV-14958 - Merge new release of InnoDB MySQL 5.7.21 to 10.2 * MDEV-15165 - InnoDB purge for index on virtual column is trying to access an incomplete record * MDEV-15143 - InnoDB: Rollback of trx with id 0 completed * MDEV-11415 - Remove excessive undo logging during ALTER TABLE…ALGORITHM=COPY * MDEV-15016 - multiple page cleaner threads use a lot of CPU * MDEV-14941 - Timeouts on persistent statistics tables caused by MDEV-14511 * MDEV-14985 - innodb_undo_log_truncate may be blocked if transactions were recovered at startup * MDEV-14441 - InnoDB hangs when setting OBS-URL: https://build.opensuse.org/request/show/579672 OBS-URL: https://build.opensuse.org/package/show/server:database/mariadb?expand=0&rev=207
138 lines
4.3 KiB
Diff
138 lines
4.3 KiB
Diff
PATCH-P0-FEATURE-UPSTREAM: Adds group option
|
|
|
|
This patch let's you specify not only user to use but also group that MySQL
|
|
should use.
|
|
|
|
Maintainer: Michal Hrusecky <mhrusecky@suse.cz>
|
|
|
|
Index: scripts/mysqld_safe.sh
|
|
===================================================================
|
|
--- scripts/mysqld_safe.sh.orig
|
|
+++ scripts/mysqld_safe.sh
|
|
@@ -28,6 +28,7 @@ logging=init
|
|
want_syslog=0
|
|
syslog_tag=
|
|
user='@MYSQLD_USER@'
|
|
+group='@MYSQLD_GROUP@'
|
|
pid_file=
|
|
err_log=
|
|
err_log_base=
|
|
@@ -308,6 +309,7 @@ parse_arguments() {
|
|
--pid[-_]file=*) pid_file="$val" ;;
|
|
--plugin[-_]dir=*) PLUGIN_DIR="$val" ;;
|
|
--user=*) user="$val"; SET_USER=1 ;;
|
|
+ --group=*) group="$val"; SET_USER=1 ;;
|
|
--log[-_]basename=*|--hostname=*|--loose[-_]log[-_]basename=*)
|
|
pid_file="$val.pid";
|
|
err_log_base="$val";
|
|
@@ -725,6 +727,7 @@ then
|
|
if test "$user" != "root" -o $SET_USER = 1
|
|
then
|
|
USER_OPTION="--user=$user"
|
|
+ GROUP_OPTION="--group=$group"
|
|
fi
|
|
if test -n "$open_files"
|
|
then
|
|
@@ -747,7 +750,12 @@ then
|
|
log_error "Fatal error Can't create database directory '$mysql_unix_port'"
|
|
exit 1
|
|
fi
|
|
- chown $user $mysql_unix_port_dir
|
|
+ if [ "$user" -a "$group" ]; then
|
|
+ chown $user:$group $mysql_unix_port_dir
|
|
+ else
|
|
+ [ "$user" ] && chown $user $mysql_unix_port_dir
|
|
+ [ "$group" ] && chgrp $group $mysql_unix_port_dir
|
|
+ fi
|
|
chmod 755 $mysql_unix_port_dir
|
|
fi
|
|
|
|
Index: scripts/mysql_install_db.sh
|
|
===================================================================
|
|
--- scripts/mysql_install_db.sh.orig
|
|
+++ scripts/mysql_install_db.sh
|
|
@@ -30,6 +30,7 @@ defaults=""
|
|
defaults_group_suffix=""
|
|
mysqld_opt=""
|
|
user=""
|
|
+group=""
|
|
silent_startup="--silent-startup"
|
|
|
|
force=0
|
|
@@ -93,6 +94,11 @@ Usage: $0 [OPTIONS]
|
|
user. You must be root to use this option. By default
|
|
mysqld runs using your current login name and files and
|
|
directories that it creates will be owned by you.
|
|
+ --group=group_name The login group to use for running mysqld. Files and
|
|
+ directories created by mysqld will be owned by this
|
|
+ group. You must be root to use this option. By default
|
|
+ mysqld runs using your current group and files and
|
|
+ directories that it creates will be owned by you.
|
|
|
|
All other options are passed to the mysqld program
|
|
|
|
@@ -140,11 +146,11 @@ parse_arguments()
|
|
--builddir=*) builddir=`parse_arg "$arg"` ;;
|
|
--srcdir=*) srcdir=`parse_arg "$arg"` ;;
|
|
--ldata=*|--datadir=*|--data=*) ldata=`parse_arg "$arg"` ;;
|
|
- --user=*)
|
|
# Note that the user will be passed to mysqld so that it runs
|
|
# as 'user' (crucial e.g. if log-bin=/some_other_path/
|
|
# where a chown of datadir won't help)
|
|
- user=`parse_arg "$arg"` ;;
|
|
+ --user=*) user=`parse_arg "$arg"` ;;
|
|
+ --group=*) group=`parse_arg "$arg"` ;;
|
|
--skip-name-resolve) ip_only=1 ;;
|
|
--verbose) verbose=1 ; silent_startup="" ;;
|
|
--rpm) in_rpm=1 ;;
|
|
@@ -429,7 +435,12 @@ do
|
|
fi
|
|
if test -n "$user"
|
|
then
|
|
- chown $user "$dir"
|
|
+ if test -z "$group"
|
|
+ then
|
|
+ chown $user $dir
|
|
+ else
|
|
+ chown $user:$group $dir
|
|
+ fi
|
|
if test $? -ne 0
|
|
then
|
|
echo "Cannot change ownership of the database directories to the '$user'"
|
|
@@ -444,6 +455,11 @@ then
|
|
args="$args --user=$user"
|
|
fi
|
|
|
|
+if test -n "$group"
|
|
+then
|
|
+ args="$args --group=$group"
|
|
+fi
|
|
+
|
|
# When doing a "cross bootstrap" install, no reference to the current
|
|
# host should be added to the system tables. So we filter out any
|
|
# lines which contain the current host name.
|
|
Index: scripts/CMakeLists.txt
|
|
===================================================================
|
|
--- scripts/CMakeLists.txt.orig
|
|
+++ scripts/CMakeLists.txt
|
|
@@ -161,6 +161,7 @@ ENDIF()
|
|
|
|
SET(HOSTNAME "hostname")
|
|
SET(MYSQLD_USER "mysql")
|
|
+SET(MYSQLD_GROUP "mysql")
|
|
ENDIF(UNIX)
|
|
|
|
# Really ugly, one script, "mysql_install_db", needs prefix set to ".",
|
|
Index: support-files/CMakeLists.txt
|
|
===================================================================
|
|
--- support-files/CMakeLists.txt.orig
|
|
+++ support-files/CMakeLists.txt
|
|
@@ -29,6 +29,7 @@ ELSE()
|
|
SET(CFLAGS ${CMAKE_C_FLAGS})
|
|
SET(CXXFLAGS ${CMAKE_CXX_FLAGS})
|
|
SET(MYSQLD_USER "mysql")
|
|
+ SET(MYSQLD_GROUP "mysql")
|
|
SET(ini_file_extension "cnf")
|
|
SET(HOSTNAME "hostname")
|
|
ENDIF()
|