Revision: 49064
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 15, 2011 02:21 by eristoddle
Initial Code
#!/bin/bash
#
# Version 0.02 - JF Nutbroek 2007
#
# Path to MySQL binary
MYSQL="/opt/lampp/bin/mysql"
# Code starts here
check() {
OUT=$?
if [ ! $OUT -eq 0 ]; then
echo "Error!"
exit 2
fi
}
getinfo() {
echo "##### WARNING - Expert only! #####"
echo ""
echo "Please enter your MySQL username [enter=root]"
read USERNAME
if [ "$USERNAME" = "" ]; then
USERNAME="root"
fi
echo "Please enter your MySQL password"
stty -echo
read PASSWORD
stty echo
echo ""
DBNAMES="`$MYSQL --user=$USERNAME --password=$PASSWORD --host=localhost --batch --skip-column-names -e "show databases" | sed 's/ /%/g'`"
PS3='Please select the database:'
select DB in $DBNAMES ; do
break
done
echo ""
}
optimize() {
clear
echo "Optimizing database..."
echo ""
getinfo
TABLENAMES="`$MYSQL --user=$USERNAME --password=$PASSWORD --host=localhost -D $DB -e "show tables\G;" | grep 'Tables_in_' | sed -n 's/.*Tables_in_.*: \([_0-9A-Za-z]*\).*/\1/p'`"
for TABLENAME in $TABLENAMES
do
$MYSQL --user=$USERNAME --password=$PASSWORD --host=localhost -s -D $DB -e "optimize table $TABLENAME;"
done
echo ""
echo "Completed"
}
repair() {
clear
echo "Repairing database..."
echo ""
getinfo
TABLENAMES="`$MYSQL --user=$USERNAME --password=$PASSWORD --host=localhost -D $DB -e "show tables\G;" | grep 'Tables_in_' | sed -n 's/.*Tables_in_.*: \([_0-9A-Za-z]*\).*/\1/p'`"
for TABLENAME in $TABLENAMES
do
$MYSQL --user=$USERNAME --password=$PASSWORD --host=localhost -s -D $DB -e "repair table $TABLENAME;"
done
echo ""
echo "Completed"
}
case "$1" in
'optimize')
setterm -background blue
clear
optimize
setterm -background black
;;
'repair')
setterm -background blue
clear
repair
setterm -background black
;;
*)
echo "Usage: mysqltool optimize | repair"
esac
exit 0
Initial URL
Initial Description
Initial Title
Shell MySql Tool
Initial Tags
Initial Language
ActionScript