changing mysql.sh for install/upgrade time so that it work with mysql5 debian version also (debian-sys-maint with limited rights)
This commit is contained in:
parent
da63874904
commit
e1b905c76a
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh -e
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# $Id: mysql.sh,v 1.11 2006/01/11 22:51:28 anarcat Exp $
|
# $Id: mysql.sh,v 1.11 2006/01/11 22:51:28 anarcat Exp $
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
@ -28,16 +28,23 @@
|
||||||
# USAGE : "mysql.sh loginroot passroot systemdb"
|
# USAGE : "mysql.sh loginroot passroot systemdb"
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
rootlogin=$1
|
|
||||||
rootpass=$2
|
|
||||||
systemdb=$3
|
|
||||||
|
|
||||||
mysql="mysql --defaults-file=/etc/mysql/debian.cnf"
|
rootlogin="$1"
|
||||||
|
rootpass="$2"
|
||||||
|
systemdb="$3"
|
||||||
|
|
||||||
|
if [ -z "$rootlogin" -o -z "$rootpass" -o -z "$systemdb" ]
|
||||||
|
then
|
||||||
|
echo "Usage: mysql.sh <rootlogin> <rootpass> <systemdb>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mysql="/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf"
|
||||||
|
|
||||||
if ! $mysql mysql -e "SHOW TABLES" >/dev/null
|
if ! $mysql mysql -e "SHOW TABLES" >/dev/null
|
||||||
then
|
then
|
||||||
# is this an upgrade then?
|
# is this an upgrade then?
|
||||||
mysql="mysql -u $rootlogin -p$rootpass"
|
mysql="/usr/bin/mysql -u$rootlogin -p$rootpass"
|
||||||
if ! $mysql mysql -e "SHOW TABLES" >/dev/null
|
if ! $mysql mysql -e "SHOW TABLES" >/dev/null
|
||||||
then
|
then
|
||||||
echo "Can't get proper credentials, aborting"
|
echo "Can't get proper credentials, aborting"
|
||||||
|
@ -45,12 +52,31 @@ then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Setting AlternC $systemdb system table and privileges "
|
# The grant all is the most important right needed in this script.
|
||||||
|
# If this call fail, we may be connected to a mysql-server version 5.0.
|
||||||
|
echo "Granting users "
|
||||||
|
# In that case, change mysql parameters and retry. Use root / nopassword.
|
||||||
|
$mysql -e "GRANT ALL ON *.* TO '$rootlogin'@'${MYSQL_CLIENT}' IDENTIFIED BY '$rootpass' WITH GRANT OPTION"
|
||||||
|
if [ "$?" -ne "0" ]
|
||||||
|
then
|
||||||
|
echo "You are using mysql 5.0, so we try with root account and no password since debian-sys-maint doesn't work."
|
||||||
|
mysql="/usr/bin/mysql -uroot "
|
||||||
|
echo "Granting users "
|
||||||
|
$mysql -e "GRANT ALL ON *.* TO '$rootlogin'@'${MYSQL_CLIENT}' IDENTIFIED BY '$rootpass' WITH GRANT OPTION"
|
||||||
|
if [ "$?" -ne "0" ]
|
||||||
|
then
|
||||||
|
echo "Can't grant system user $rootlogin, abording";
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Now we can use rootlogin and rootpass.
|
||||||
|
mysql="/usr/bin/mysql -u$rootlogin -p$rootpass"
|
||||||
|
|
||||||
|
echo "Setting AlternC '$systemdb' system table and privileges "
|
||||||
$mysql -e "CREATE DATABASE IF NOT EXISTS $systemdb;"
|
$mysql -e "CREATE DATABASE IF NOT EXISTS $systemdb;"
|
||||||
|
|
||||||
echo "Installing AlternC schema "
|
echo "Installing AlternC schema "
|
||||||
$mysql $systemdb < /usr/share/alternc/install/mysql.sql
|
$mysql $systemdb < /usr/share/alternc/install/mysql.sql
|
||||||
|
|
||||||
echo "Granting users "
|
/usr/bin/mysql -u$rootlogin -p$rootpass $systemdb -e "SHOW TABLES" >/dev/null && echo "MYSQL.SH OK!" || echo "MYSQL.SH FAILED!"
|
||||||
$mysql -e "GRANT ALL ON *.* TO '$rootlogin'@'${MYSQL_CLIENT}' IDENTIFIED BY '$rootpass' WITH GRANT OPTION"
|
|
||||||
|
|
||||||
mysql -u $rootlogin -p$rootpass $systemdb -e "SHOW TABLES" >/dev/null && echo "MYSQL.SH OK!" || echo "MYSQL.SH FAILED!"
|
|
||||||
|
|
Loading…
Reference in New Issue