1
0
mirror of https://github.com/serghey-rodin/vesta.git synced 2025-03-11 20:26:30 -07:00
vesta/func/db.sh

467 lines
14 KiB
Bash
Raw Permalink Normal View History

2015-03-29 14:43:02 +03:00
# MySQL
mysql_connect() {
host_str=$(grep "HOST='$1'" $VESTA/conf/mysql.conf)
eval $host_str
if [ -z $HOST ] || [ -z $USER ] || [ -z $PASSWORD ]; then
echo "Error: mysql config parsing failed"
log_event "$E_PARSING" "$ARGUMENTS"
2015-03-29 14:43:02 +03:00
exit $E_PARSING
fi
mycnf="$VESTA/conf/.mysql.$HOST"
if [ ! -e "$mycnf" ]; then
echo "[client]">$mycnf
echo "host='$HOST'" >> $mycnf
echo "user='$USER'" >> $mycnf
echo "password='$PASSWORD'" >> $mycnf
chmod 600 $mycnf
else
mypw=$(grep password $mycnf|cut -f 2 -d \')
if [ "$mypw" != "$PASSWORD" ]; then
echo "[client]">$mycnf
echo "host='$HOST'" >> $mycnf
echo "user='$USER'" >> $mycnf
echo "password='$PASSWORD'" >> $mycnf
chmod 660 $mycnf
fi
fi
mysql_out=$(mktemp)
mysql --defaults-file=$mycnf -e 'SELECT VERSION()' > $mysql_out 2>&1
2015-03-29 14:43:02 +03:00
if [ '0' -ne "$?" ]; then
if [ "$notify" != 'no' ]; then
echo -e "Can't connect to MySQL $HOST\n$(cat $mysql_out)" |\
$SENDMAIL -s "$subj" $email
2015-03-29 14:43:02 +03:00
fi
rm -f $mysql_out
2015-03-29 14:43:02 +03:00
echo "Error: Connection to $HOST failed"
log_event "$E_CONNECT" "$ARGUMENTS"
2015-03-29 14:43:02 +03:00
exit $E_CONNECT
fi
mysql_ver=$(cat $mysql_out |tail -n1 |cut -f 1 -d -)
mysql_fork="mysql"
check_mysql_fork=$(grep "MariaDB" $mysql_out)
if [ ! -z "$check_mysql_fork" ]; then
mysql_fork="mariadb"
fi
rm -f $mysql_out
2015-03-29 14:43:02 +03:00
}
mysql_query() {
sql_tmp=$(mktemp)
echo "$1" > $sql_tmp
mysql --defaults-file=$mycnf < "$sql_tmp" 2>/dev/null
rm -f "$sql_tmp"
2015-03-29 14:43:02 +03:00
}
mysql_dump() {
err="/tmp/e.mysql"
2019-04-08 21:47:22 -07:00
mysqldump --defaults-file=$mycnf --single-transaction --max_allowed_packet=100M -r $1 $2 2> $err
2015-03-29 14:43:02 +03:00
if [ '0' -ne "$?" ]; then
rm -rf $tmpdir
if [ "$notify" != 'no' ]; then
echo -e "Can't dump database $database\n$(cat $err)" |\
$SENDMAIL -s "$subj" $email
2015-03-29 14:43:02 +03:00
fi
2019-04-08 21:47:22 -07:00
echo "Error: dump $database failed\n$(cat $err)"
log_event "$E_DB" "$ARGUMENTS"
2015-03-29 14:43:02 +03:00
exit $E_DB
fi
}
# PostgreSQL
psql_connect() {
host_str=$(grep "HOST='$1'" $VESTA/conf/pgsql.conf)
eval $host_str
export PGPASSWORD="$PASSWORD"
if [ -z $HOST ] || [ -z $USER ] || [ -z $PASSWORD ] || [ -z $TPL ]; then
echo "Error: postgresql config parsing failed"
log_event "$E_PARSING" "$ARGUMENTS"
2015-03-29 14:43:02 +03:00
exit $E_PARSING
fi
psql -h $HOST -U $USER -c "SELECT VERSION()" > /dev/null 2>/tmp/e.psql
if [ '0' -ne "$?" ]; then
if [ "$notify" != 'no' ]; then
echo -e "Can't connect to PostgreSQL $HOST\n$(cat /tmp/e.psql)" |\
$SENDMAIL -s "$subj" $email
2015-03-29 14:43:02 +03:00
fi
echo "Error: Connection to $HOST failed"
log_event "$E_CONNECT" "$ARGUMENTS"
2015-03-29 14:43:02 +03:00
exit $E_CONNECT
fi
}
psql_query() {
sql_tmp=$(mktemp)
echo "$1" > $sql_tmp
psql -h $HOST -U $USER -f "$sql_tmp" 2>/dev/null
rm -f $sql_tmp
2015-03-29 14:43:02 +03:00
}
psql_dump() {
pg_dump -h $HOST -U $USER -c --inserts -O -x -f $1 $2 2>/tmp/e.psql
2015-03-29 14:43:02 +03:00
if [ '0' -ne "$?" ]; then
rm -rf $tmpdir
if [ "$notify" != 'no' ]; then
echo -e "Can't dump database $database\n$(cat /tmp/e.psql)" |\
$SENDMAIL -s "$subj" $email
2015-03-29 14:43:02 +03:00
fi
echo "Error: dump $database failed"
log_event "$E_DB" "$ARGUMENTS"
2015-03-29 14:43:02 +03:00
exit $E_DB
fi
}
2012-03-19 02:42:28 +02:00
# Get database host
2012-03-06 22:07:06 +02:00
get_next_dbhost() {
2012-06-20 16:58:16 +03:00
if [ -z "$host" ] || [ "$host" == 'default' ]; then
2011-06-14 00:22:25 +03:00
IFS=$'\n'
2012-03-19 02:42:28 +02:00
host='EMPTY_DB_HOST'
2012-03-06 22:07:06 +02:00
config="$VESTA/conf/$type.conf"
host_str=$(grep "SUSPENDED='no'" $config)
check_row=$(echo "$host_str"|wc -l)
if [ 0 -lt "$check_row" ]; then
if [ 1 -eq "$check_row" ]; then
for db in $host_str; do
eval $db
if [ "$MAX_DB" -gt "$U_DB_BASES" ]; then
host=$HOST
fi
done
else
old_weight='100'
for db in $host_str; do
eval $db
2013-03-27 01:16:14 +02:00
let weight="$U_DB_BASES * 100 / $MAX_DB" >/dev/null 2>&1
2012-03-06 22:07:06 +02:00
if [ "$old_weight" -gt "$weight" ]; then
host="$HOST"
old_weight="$weight"
fi
done
2011-06-14 00:22:25 +03:00
fi
fi
2012-03-06 22:07:06 +02:00
fi
2011-06-14 00:22:25 +03:00
}
2012-03-27 23:08:44 +03:00
# Database charset validation
is_charset_valid() {
2012-03-19 02:42:28 +02:00
host_str=$(grep "HOST='$host'" $VESTA/conf/$type.conf)
eval $host_str
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
if [ -z "$(echo $CHARSETS | grep -wi $charset )" ]; then
echo "Error: charset $charset not exist"
log_event "$E_NOTEXIST" "$ARGUMENTS"
2012-03-19 02:42:28 +02:00
exit $E_NOTEXIST
fi
}
# Increase database host value
increase_dbhost_values() {
host_str=$(grep "HOST='$host'" $VESTA/conf/$type.conf)
eval $host_str
2011-06-14 00:22:25 +03:00
2012-03-19 02:42:28 +02:00
old_dbbases="U_DB_BASES='$U_DB_BASES'"
new_dbbases="U_DB_BASES='$((U_DB_BASES + 1))'"
2011-06-14 00:22:25 +03:00
if [ -z "$U_SYS_USERS" ]; then
2012-03-19 02:42:28 +02:00
old_users="U_SYS_USERS=''"
new_users="U_SYS_USERS='$user'"
2011-06-14 00:22:25 +03:00
else
2012-03-19 02:42:28 +02:00
old_users="U_SYS_USERS='$U_SYS_USERS'"
new_users="U_SYS_USERS='$U_SYS_USERS'"
if [ -z "$(echo $U_SYS_USERS|sed "s/,/\n/g"|grep -w $user)" ]; then
2012-03-19 02:42:28 +02:00
old_users="U_SYS_USERS='$U_SYS_USERS'"
new_users="U_SYS_USERS='$U_SYS_USERS,$user'"
2011-06-14 00:22:25 +03:00
fi
fi
2012-03-19 02:42:28 +02:00
sed -i "s/$old_dbbases/$new_dbbases/g" $VESTA/conf/$type.conf
sed -i "s/$old_users/$new_users/g" $VESTA/conf/$type.conf
2011-06-14 00:22:25 +03:00
}
2012-03-19 02:42:28 +02:00
# Decrease database host value
decrease_dbhost_values() {
2012-03-27 23:08:44 +03:00
host_str=$(grep "HOST='$HOST'" $VESTA/conf/$TYPE.conf)
2012-03-19 02:42:28 +02:00
eval $host_str
2011-06-14 00:22:25 +03:00
2012-03-19 02:42:28 +02:00
old_dbbases="U_DB_BASES='$U_DB_BASES'"
new_dbbases="U_DB_BASES='$((U_DB_BASES - 1))'"
old_users="U_SYS_USERS='$U_SYS_USERS'"
U_SYS_USERS=$(echo "$U_SYS_USERS" |\
sed "s/,/\n/g"|\
sed "s/^$user$//g"|\
sed "/^$/d"|\
sed ':a;N;$!ba;s/\n/,/g')
2012-03-19 02:42:28 +02:00
new_users="U_SYS_USERS='$U_SYS_USERS'"
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
sed -i "s/$old_dbbases/$new_dbbases/g" $VESTA/conf/$TYPE.conf
sed -i "s/$old_users/$new_users/g" $VESTA/conf/$TYPE.conf
2011-06-14 00:22:25 +03:00
}
2012-03-19 02:42:28 +02:00
# Create MySQL database
2012-03-27 23:08:44 +03:00
add_mysql_database() {
2015-03-29 14:43:02 +03:00
mysql_connect $host
2011-06-14 00:22:25 +03:00
query="CREATE DATABASE \`$database\` CHARACTER SET $charset"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@\`%\`
IDENTIFIED BY '$dbpass'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@localhost
2012-03-27 23:08:44 +03:00
IDENTIFIED BY '$dbpass'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2012-04-03 22:08:48 +03:00
if [ "$(echo $mysql_ver |cut -d '.' -f2)" -ge 7 ]; then
md5=$(mysql_query "SHOW CREATE USER \`$dbuser\`" 2>/dev/null)
md5=$(echo "$md5" |grep password |cut -f8 -d \')
else
md5=$(mysql_query "SHOW GRANTS FOR \`$dbuser\`" 2>/dev/null)
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
fi
2011-06-14 00:22:25 +03:00
}
2012-03-19 02:42:28 +02:00
# Create PostgreSQL database
2012-03-27 23:08:44 +03:00
add_pgsql_database() {
2015-03-29 14:43:02 +03:00
psql_connect $host
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
query="CREATE ROLE $dbuser WITH LOGIN PASSWORD '$dbpass'"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
query="CREATE DATABASE $database OWNER $dbuser"
if [ "$TPL" = 'template0' ]; then
2012-03-27 23:08:44 +03:00
query="$query ENCODING '$charset' TEMPLATE $TPL"
else
2012-03-19 02:42:28 +02:00
query="$query TEMPLATE $TPL"
fi
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2012-04-03 22:08:48 +03:00
query="GRANT ALL PRIVILEGES ON DATABASE $database TO $dbuser"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2012-03-19 02:42:28 +02:00
2012-04-03 22:08:48 +03:00
query="GRANT CONNECT ON DATABASE template1 to $dbuser"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2012-04-03 22:08:48 +03:00
query="SELECT rolpassword FROM pg_authid WHERE rolname='$dbuser';"
2015-03-29 14:43:02 +03:00
md5=$(psql_query "$query" | grep md5 | cut -f 2 -d \ )
2011-06-14 00:22:25 +03:00
}
2012-03-27 23:08:44 +03:00
# Check if database host do not exist in config
2012-03-19 02:42:28 +02:00
is_dbhost_new() {
2012-03-06 22:07:06 +02:00
if [ -e "$VESTA/conf/$type.conf" ]; then
check_host=$(grep "HOST='$host'" $VESTA/conf/$type.conf)
2011-06-14 00:22:25 +03:00
if [ ! -z "$check_host" ]; then
echo "Error: db host exist"
log_event "$E_EXISTS" "$ARGUMENTS"
2011-12-18 22:39:29 +02:00
exit $E_EXISTS
2011-06-14 00:22:25 +03:00
fi
fi
}
2012-03-27 23:08:44 +03:00
# Get database values
get_database_values() {
eval $(grep "DB='$database'" $USER_DATA/db.conf)
2011-06-14 00:22:25 +03:00
}
2012-03-27 23:08:44 +03:00
# Change MySQL database password
change_mysql_password() {
2015-03-29 14:43:02 +03:00
mysql_connect $HOST
query="GRANT ALL ON \`$database\`.* TO \`$DBUSER\`@\`%\`
IDENTIFIED BY '$dbpass'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2012-03-27 23:08:44 +03:00
query="GRANT ALL ON \`$database\`.* TO \`$DBUSER\`@localhost
2012-03-27 23:08:44 +03:00
IDENTIFIED BY '$dbpass'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
if [ "$(echo $mysql_ver |cut -d '.' -f2)" -ge 7 ]; then
md5=$(mysql_query "SHOW CREATE USER \`$DBUSER\`" 2>/dev/null)
md5=$(echo "$md5" |grep password |cut -f8 -d \')
else
md5=$(mysql_query "SHOW GRANTS FOR \`$DBUSER\`" 2>/dev/null)
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
fi
2011-06-14 00:22:25 +03:00
}
2012-03-27 23:08:44 +03:00
# Change PostgreSQL database password
change_pgsql_password() {
2015-03-29 14:43:02 +03:00
psql_connect $HOST
2012-03-27 23:08:44 +03:00
query="ALTER ROLE $DBUSER WITH LOGIN PASSWORD '$dbpass'"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2012-04-03 22:08:48 +03:00
query="SELECT rolpassword FROM pg_authid WHERE rolname='$DBUSER';"
2015-03-29 14:43:02 +03:00
md5=$(psql_query "$query" | grep md5 |cut -f 2 -d \ )
2011-06-14 00:22:25 +03:00
}
2012-03-27 23:08:44 +03:00
# Delete MySQL database
delete_mysql_database() {
2015-03-29 14:43:02 +03:00
mysql_connect $HOST
2011-06-14 00:22:25 +03:00
query="DROP DATABASE \`$database\`"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
query="REVOKE ALL ON \`$database\`.* FROM \`$DBUSER\`@\`%\`"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2012-03-27 23:08:44 +03:00
query="REVOKE ALL ON \`$database\`.* FROM \`$DBUSER\`@localhost"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2012-03-27 23:08:44 +03:00
if [ "$(grep "DBUSER='$DBUSER'" $USER_DATA/db.conf |wc -l)" -lt 2 ]; then
query="DROP USER '$DBUSER'@'%'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2012-03-27 23:08:44 +03:00
query="DROP USER '$DBUSER'@'localhost'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
fi
}
2012-03-27 23:08:44 +03:00
# Delete PostgreSQL database
delete_pgsql_database() {
2015-03-29 14:43:02 +03:00
psql_connect $HOST
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
query="REVOKE ALL PRIVILEGES ON DATABASE $database FROM $DBUSER"
psql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
query="DROP DATABASE $database"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
if [ "$(grep "DBUSER='$DBUSER'" $USER_DATA/db.conf |wc -l)" -lt 2 ]; then
query="REVOKE CONNECT ON DATABASE template1 FROM $db_user"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2012-03-27 23:08:44 +03:00
query="DROP ROLE $db_user"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
fi
}
2012-04-02 15:17:28 +03:00
# Dump MySQL database
dump_mysql_database() {
2015-03-29 14:43:02 +03:00
mysql_connect $HOST
2011-08-20 17:24:52 +03:00
2015-03-29 14:43:02 +03:00
mysql_dump $dump $database
2011-08-20 17:24:52 +03:00
2012-04-02 15:17:28 +03:00
query="SHOW GRANTS FOR '$DBUSER'@'localhost'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" | grep -v "Grants for" > $grants
2011-08-20 17:24:52 +03:00
2012-04-02 15:17:28 +03:00
query="SHOW GRANTS FOR '$DBUSER'@'%'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" | grep -v "Grants for" > $grants
2012-04-02 15:17:28 +03:00
}
2011-08-20 17:24:52 +03:00
2012-04-02 15:17:28 +03:00
# Dump PostgreSQL database
dump_pgsql_database() {
2015-03-29 14:43:02 +03:00
psql_connect $HOST
2011-08-20 17:24:52 +03:00
2015-03-29 14:43:02 +03:00
psql_dump $dump $database
2012-04-02 15:17:28 +03:00
query="SELECT rolpassword FROM pg_authid WHERE rolname='$DBUSER';"
2015-03-29 14:43:02 +03:00
md5=$(psql_query "$query" | head -n1 | cut -f 2 -d \ )
2012-04-02 15:17:28 +03:00
pw_str="UPDATE pg_authid SET rolpassword='$md5' WHERE rolname='$DBUSER';"
gr_str="GRANT ALL PRIVILEGES ON DATABASE $database to '$DBUSER'"
2011-08-20 17:24:52 +03:00
echo -e "$pw_str\n$gr_str" >> $grants
}
2012-03-27 23:08:44 +03:00
# Check if database server is in use
is_dbhost_free() {
2012-03-06 22:07:06 +02:00
host_str=$(grep "HOST='$host'" $VESTA/conf/$type.conf)
2012-03-27 23:08:44 +03:00
eval $host_str
2011-06-14 00:22:25 +03:00
if [ 0 -ne "$U_DB_BASES" ]; then
2012-03-27 23:08:44 +03:00
echo "Error: host $HOST is used"
log_event "$E_INUSE" "$ARGUMENTS"
2011-12-18 22:39:29 +02:00
exit $E_INUSE
2011-06-14 00:22:25 +03:00
fi
}
2012-03-27 23:08:44 +03:00
# Suspend MySQL database
suspend_mysql_database() {
2015-03-29 14:43:02 +03:00
mysql_connect $HOST
query="REVOKE ALL ON \`$database\`.* FROM \`$DBUSER\`@\`%\`"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
query="REVOKE ALL ON \`$database\`.* FROM \`$DBUSER\`@localhost"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2012-03-27 23:08:44 +03:00
}
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
# Suspend PostgreSQL database
suspend_pgsql_database() {
2015-03-29 14:43:02 +03:00
psql_connect $HOST
2012-03-27 23:08:44 +03:00
query="REVOKE ALL PRIVILEGES ON $database FROM $DBUSER"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
}
2012-03-27 23:08:44 +03:00
# Unsuspend MySQL database
unsuspend_mysql_database() {
2015-03-29 14:43:02 +03:00
mysql_connect $HOST
query="GRANT ALL ON \`$database\`.* FROM \`$DBUSER\`@\`%\`"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
query="GRANT ALL ON \`$database\`.* TO \`$DBUSER\`@localhost"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2012-03-27 23:08:44 +03:00
}
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
# Unsuspend PostgreSQL database
unsuspend_pgsql_database() {
2015-03-29 14:43:02 +03:00
psql_connect $HOST
2012-03-27 23:08:44 +03:00
query="GRANT ALL PRIVILEGES ON DATABASE $database TO $DBUSER"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2011-06-14 00:22:25 +03:00
}
2012-03-27 23:08:44 +03:00
# Get MySQL disk usage
get_mysql_disk_usage() {
2015-03-29 14:43:02 +03:00
mysql_connect $HOST
2017-12-28 15:22:42 +02:00
query="SELECT SUM( data_length + index_length ) / 1024 / 1024 'Size'
2012-12-13 09:57:39 +02:00
FROM information_schema.TABLES WHERE table_schema='$database'"
2015-03-29 14:43:02 +03:00
usage=$(mysql_query "$query" |tail -n1)
if [ "$usage" == '' ] || [ "$usage" == 'NULL' ] || [ "${usage:0:1}" -eq '0' ]; then
2012-03-27 23:08:44 +03:00
usage=1
2011-06-14 00:22:25 +03:00
fi
2012-12-09 02:34:57 +02:00
export LC_ALL=C
2012-03-27 23:08:44 +03:00
usage=$(printf "%0.f\n" $usage)
2011-06-14 00:22:25 +03:00
}
2012-04-05 17:19:59 +03:00
# Get PostgreSQL disk usage
2012-03-27 23:08:44 +03:00
get_pgsql_disk_usage() {
2015-03-29 14:43:02 +03:00
psql_connect $HOST
2011-06-14 00:22:25 +03:00
2012-03-27 23:08:44 +03:00
query="SELECT pg_database_size('$database');"
2015-03-29 14:43:02 +03:00
usage=$(psql_query "$query")
usage=$(echo "$usage" | grep -v "-" | grep -v 'row' | sed "/^$/d")
2012-03-27 23:08:44 +03:00
usage=$(echo "$usage" | grep -v "pg_database_size" | awk '{print $1}')
if [ -z "$usage" ]; then
usage=0
2011-06-14 00:22:25 +03:00
fi
2012-03-27 23:08:44 +03:00
usage=$(($usage / 1048576))
if [ "$usage" -eq '0' ]; then
usage=1
2011-06-14 00:22:25 +03:00
fi
}
2012-04-05 17:19:59 +03:00
2013-10-28 17:56:27 +02:00
# Delete MySQL user
delete_mysql_user() {
2015-03-29 14:43:02 +03:00
mysql_connect $HOST
2013-10-28 17:56:27 +02:00
query="REVOKE ALL ON \`$database\`.* FROM \`$old_dbuser\`@\`%\`"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2013-10-28 17:56:27 +02:00
query="REVOKE ALL ON \`$database\`.* FROM \`$old_dbuser\`@localhost"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2013-10-28 17:56:27 +02:00
query="DROP USER '$old_dbuser'@'%'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2013-10-28 17:56:27 +02:00
query="DROP USER '$old_dbuser'@'localhost'"
2015-03-29 14:43:02 +03:00
mysql_query "$query" > /dev/null
2013-10-28 17:56:27 +02:00
}
# Delete PostgreSQL user
delete_pgsql_user() {
2015-03-29 14:43:02 +03:00
psql_connect $HOST
2013-10-28 17:56:27 +02:00
query="REVOKE ALL PRIVILEGES ON DATABASE $database FROM $old_dbuser"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2013-10-28 17:56:27 +02:00
query="REVOKE CONNECT ON DATABASE template1 FROM $old_dbuser"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2013-10-28 17:56:27 +02:00
query="DROP ROLE $old_dbuser"
2015-03-29 14:43:02 +03:00
psql_query "$query" > /dev/null
2013-10-28 17:56:27 +02:00
}