diff options
-rw-r--r--[-rwxr-xr-x] | abs/core-testing/LinHES-config/install_db_chroot.sh | 136 |
1 files changed, 41 insertions, 95 deletions
diff --git a/abs/core-testing/LinHES-config/install_db_chroot.sh b/abs/core-testing/LinHES-config/install_db_chroot.sh index 808dbb9..94305d2 100755..100644 --- a/abs/core-testing/LinHES-config/install_db_chroot.sh +++ b/abs/core-testing/LinHES-config/install_db_chroot.sh @@ -6,112 +6,58 @@ myhost=$hostname hostname $myhost echo $myhost > /etc/hostname -echo "$0 hostname is $hostname" +echo "install_db_chroot hostname is $hostname" . $MV_ROOT/bin/install_functions.sh #myhost=`cat /etc/hostname` -# Before this script is called, the mysqld that facilitated the installation is killed. -# We need to make sure to stop and start the mysqld that will be used post-install so -# that the database can be initialized. - -/etc/rc.d/mysqld stop -killall -9 mysqld -/etc/rc.d/mysqld start -sleep 1 - -# Put a limit on how many times we try to (re-)start MySQL -success_test() { - # parameter: number of tries to start mysqld so far - PID=`pidof -o %PPID /usr/sbin/mysqld` - if [ -z "$PID" ]; then # mysqld isn't running - if [ $1 -gt 3 ]; then - echo "ERROR: Failed to start MySQL server in $1 attempts." - sleep 5 - exit 1 - else - echo "Tried $1 time(s) to start MySQL server." - return 1 - fi - else # mysqld is running - return 0 - fi - # should never get here - return 1 -} - -mysqld_tries=0 -# See if MySQL server is running; try several ways to start it if it's not. -while true; do - success_test $mysqld_tries - if [ $? -eq 0 ]; then - echo "MySQL server is running" - break - else - echo "MySQL server is not running. Trying to start it." - # Maybe it just needs to be started - sleep 1 - /etc/rc.d/mysqld start - mysqld_tries=$((mysqld_tries + 1)) - success_test $mysqld_tries - if [ $? -eq 0 ]; then - echo "MySQL server has been started" - break - else - echo "MySQL server may not be installed. Trying to install it." - # Maybe it's not installed; try (re-)installing it and starting it - sleep 1 - pacman --noconfirm -Sf mysql - sleep 1 - /etc/rc.d/mysqld start - mysqld_tries=$((mysqld_tries + 1)) - success_test $mysqld_tries - if [ $? -eq 0 ]; then - echo "MySQL server has been installed and started" - break - else - echo "MySQL server would not start, even after (re-)installing it." - fi - fi - fi -done - -# At this point, MySQL server should be up and running - -while true; do - mysql -e "show databases;" - - if [ $? -eq 0 ]; then - pacman --noconfirm -R mythdb-initial - pacman --noconfirm -S mythdb-initial - $MV_ROOT/bin/restore_default_settings.sh -c load - DISPLAY=127.0.0.1:0 $MV_ROOT/bin/MythVantage -t restore,default_1 - $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings - $MV_ROOT/bin/systemconfig.sh misc,hostype,this_is_install - - update_db_settings HostServiceMythWEB "1" - echo 'UseMythWEB="1"' >> /etc/systemconfig - - #update database to allow user jobs on this host. - $MV_ROOT/bin/restore_default_settings.sh -c USERJOBALLOW - $MV_ROOT/bin/restore_default_settings.sh -c ACCESSCONTROL - #if [ -d /var/lib/mysql/mythconverg ] - if [ -d /data/srv/mysql/mythconverg ]; then +#mount -t proc none /proc +pacman --noconfirm -Sf mysql +/etc/rc.d/mysqld + +status=1 +mysqlstatus=1 +while [ ! $status = 0 ] +do + /etc/rc.d/mysqld stop + sleep 1 + /etc/rc.d/mysqld start + mysqlstatus=$? + if [ $mysqlstatus = 0 ] + then + mysql -e "show databases;" + showstatus=$? + if [ $showstatus = 0 ] + then + pacman --noconfirm -R mythdb-initial + pacman --noconfirm -S mythdb-initial + $MV_ROOT/bin/restore_default_settings.sh -c load + DISPLAY=127.0.0.1:0 $MV_ROOT/bin/MythVantage -t restore,default_1 + $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings + $MV_ROOT/bin/systemconfig.sh misc,hostype,this_is_install + + update_db_settings HostServiceMythWEB "1" + echo 'UseMythWEB="1"' >> /etc/systemconfig + + #update database to allow user jobs on this host. + $MV_ROOT/bin/restore_default_settings.sh -c USERJOBALLOW + $MV_ROOT/bin/restore_default_settings.sh -c ACCESSCONTROL + if [ -d /data/srv/mysql/mythconverg ] + #if [ -d /var/lib/mysql/mythconverg ] + then # pacman --noconfirm -R webcalendar # pacman --noconfirm --nodeps -S webcalendar - break - else - echo "Failed to create mythconverg database. Will re-try." - sleep 1 - fi + status=0 + fi # if [ $SystemType = "Master_backend" ] # then # $MV_ROOT/bin/restore_default_settings.sh -c BECONFIG -s master -a $dbhost # fi - else - echo "Failed to look for databases. Will re-try." - sleep 1 + fi fi done /etc/rc.d/mysqld stop #umount /proc + + + |