Check upgrade script added to warn about need for mysql_upgrade
This commit is contained in:
parent
c9f01efce7
commit
0d2208e0ac
@ -1,7 +1,7 @@
|
|||||||
diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt
|
diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt
|
||||||
--- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200
|
--- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200
|
||||||
+++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200
|
+++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200
|
||||||
@@ -381,6 +381,31 @@ ELSE()
|
@@ -381,6 +381,32 @@ ELSE()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT})
|
INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
@ -13,6 +13,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis
|
|||||||
+ mysql-prepare-db-dir
|
+ mysql-prepare-db-dir
|
||||||
+ mysql-wait-ready
|
+ mysql-wait-ready
|
||||||
+ mysql-check-socket
|
+ mysql-check-socket
|
||||||
|
+ mysql-check-upgrade
|
||||||
+ mysql-scripts-common
|
+ mysql-scripts-common
|
||||||
+ mysql_config_multilib
|
+ mysql_config_multilib
|
||||||
+ mysql.init
|
+ mysql.init
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
|
|
||||||
Name: %{pkgname}
|
Name: %{pkgname}
|
||||||
Version: 5.6.21
|
Version: 5.6.21
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: MySQL client programs and shared libraries
|
Summary: MySQL client programs and shared libraries
|
||||||
Group: Applications/Databases
|
Group: Applications/Databases
|
||||||
URL: http://www.mysql.com
|
URL: http://www.mysql.com
|
||||||
@ -80,7 +80,8 @@ Source12: mysql-prepare-db-dir.sh
|
|||||||
Source13: mysql-wait-ready.sh
|
Source13: mysql-wait-ready.sh
|
||||||
Source14: mysql-check-socket.sh
|
Source14: mysql-check-socket.sh
|
||||||
Source15: mysql-scripts-common.sh
|
Source15: mysql-scripts-common.sh
|
||||||
Source18: mysql.init.in
|
Source16: mysql-check-upgrade.sh
|
||||||
|
Source19: mysql.init.in
|
||||||
# To track rpmlint warnings
|
# To track rpmlint warnings
|
||||||
Source30: mysql-5.6.10-rpmlintrc
|
Source30: mysql-5.6.10-rpmlintrc
|
||||||
|
|
||||||
@ -403,7 +404,7 @@ add_test 'main.upgrade : unknown'
|
|||||||
popd
|
popd
|
||||||
|
|
||||||
cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \
|
cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \
|
||||||
%{SOURCE14} %{SOURCE15} %{SOURCE18} scripts
|
%{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} scripts
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# fail quickly and obviously if user tries to build as root
|
# fail quickly and obviously if user tries to build as root
|
||||||
@ -519,6 +520,7 @@ install -D -p -m 755 scripts/mysql.init %{buildroot}%{_initddir}/%{daemon_name}
|
|||||||
install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir
|
install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir
|
||||||
install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready
|
install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready
|
||||||
install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket
|
install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket
|
||||||
|
install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade
|
||||||
install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common
|
install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common
|
||||||
|
|
||||||
# mysql-test includes one executable that doesn't belong under /usr/share,
|
# mysql-test includes one executable that doesn't belong under /usr/share,
|
||||||
@ -852,6 +854,7 @@ fi
|
|||||||
%{_libexecdir}/mysql-prepare-db-dir
|
%{_libexecdir}/mysql-prepare-db-dir
|
||||||
%{_libexecdir}/mysql-wait-ready
|
%{_libexecdir}/mysql-wait-ready
|
||||||
%{_libexecdir}/mysql-check-socket
|
%{_libexecdir}/mysql-check-socket
|
||||||
|
%{_libexecdir}/mysql-check-upgrade
|
||||||
%{_libexecdir}/mysql-scripts-common
|
%{_libexecdir}/mysql-scripts-common
|
||||||
|
|
||||||
%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf}
|
%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf}
|
||||||
@ -897,6 +900,9 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 29 2014 Honza Horak <hhorak@redhat.com> - 5.6.21-3
|
||||||
|
- Check upgrade script added to warn about need for mysql_upgrade
|
||||||
|
|
||||||
* Thu Sep 25 2014 Bjorn Munch <bjorn.munch@oracle.com> - 5.6.21-2
|
* Thu Sep 25 2014 Bjorn Munch <bjorn.munch@oracle.com> - 5.6.21-2
|
||||||
- Using %%cmake macro break some tests, reverted
|
- Using %%cmake macro break some tests, reverted
|
||||||
- Unwanted dtrace dep fixed upstream
|
- Unwanted dtrace dep fixed upstream
|
||||||
|
39
mysql-check-upgrade.sh
Normal file
39
mysql-check-upgrade.sh
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common"
|
||||||
|
|
||||||
|
upgrade_info_file="$datadir/mysql_upgrade_info"
|
||||||
|
version=0
|
||||||
|
# get version as integer from mysql_upgrade_info file
|
||||||
|
if [ -f "$upgrade_info_file" ] && [ -r "$upgrade_info_file" ] ; then
|
||||||
|
version_major=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\1/')
|
||||||
|
version_minor=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\2/')
|
||||||
|
if [[ $version_major =~ ^[0-9]+$ ]] && [[ $version_minor =~ ^[0-9]+$ ]] ; then
|
||||||
|
version=$((version_major*100+version_minor))
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# compute current version as integer
|
||||||
|
thisversion=$((@MAJOR_VERSION@*100+@MINOR_VERSION@))
|
||||||
|
|
||||||
|
# provide warning in cases we should run mysql_upgrade
|
||||||
|
if [ $version -ne $thisversion ] ; then
|
||||||
|
|
||||||
|
# give extra warning if some version seems to be skipped
|
||||||
|
if [ $version -gt 0 ] && [ $version -lt 505 ] ; then
|
||||||
|
echo "The datadir located at $datadir seems to be older than of a version 5.5. Please, mind that as a general rule, to upgrade from one release series to another, go to the next series rather than skipping a series." >&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat <<EOF >&2
|
||||||
|
The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps:
|
||||||
|
|
||||||
|
1. Back-up your data before running 'mysql_upgrade'
|
||||||
|
2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service'
|
||||||
|
3. Run 'mysql_upgrade' with a database user that has sufficent privileges
|
||||||
|
|
||||||
|
Read more about 'mysql_upgrade' usage at:
|
||||||
|
http://dev.mysql.com/doc/refman/5.6/en/mysql-upgrade.html
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
@ -80,6 +80,8 @@ if [ ! -d "$datadir/mysql" ] ; then
|
|||||||
fi
|
fi
|
||||||
exit $ret
|
exit $ret
|
||||||
fi
|
fi
|
||||||
|
# upgrade does not need to be run on a fresh datadir
|
||||||
|
echo "@VERSION@" >"$datadir/mysql_upgrade_info"
|
||||||
# In case we're running as root, make sure files are owned properly
|
# In case we're running as root, make sure files are owned properly
|
||||||
chown -R "$myuser:$mygroup" "$datadir"
|
chown -R "$myuser:$mygroup" "$datadir"
|
||||||
fi
|
fi
|
||||||
|
@ -38,6 +38,7 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n
|
|||||||
# per bug #547485
|
# per bug #547485
|
||||||
ExecStart=@bindir@/mysqld_safe --basedir=@prefix@
|
ExecStart=@bindir@/mysqld_safe --basedir=@prefix@
|
||||||
ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID
|
ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID
|
||||||
|
ExecStartPost=@libexecdir@/mysql-check-upgrade
|
||||||
|
|
||||||
# Give a reasonable amount of time for the server to start up/shut down
|
# Give a reasonable amount of time for the server to start up/shut down
|
||||||
TimeoutSec=300
|
TimeoutSec=300
|
||||||
|
Loading…
Reference in New Issue
Block a user