51 lines
1.4 KiB
Bash
51 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# $0 -- Convert all local MySQL DB to the MySQL 4.1 format
|
|
# Copyright (C) 2005 Davide Madrisan <davide.madrisan@qilinux.it>
|
|
|
|
# see: http://dev.mysql.com/doc/mysql/en/upgrading-from-4-0.html
|
|
|
|
[ $UID = 0 ] ||
|
|
{ echo "error: ${0##*/}: must be superuser" >&2; exit 1; }
|
|
|
|
# dump all local MySQL DB to a temporary file
|
|
tempf=`mktemp -t allMySQLdb.XXXXXX` ||
|
|
{ echo "cannot create secure temporary files." >&2; exit 1; }
|
|
trap 'rm -f $tempf' 0 1 2 3 6 7 13 15
|
|
|
|
[ -f /var/lock/subsys/mysql ] &&
|
|
let "mysql_is_running = 1" || let "mysql_is_running = 0"
|
|
|
|
[ "$mysql_is_running" = "1" ] ||
|
|
{ service mysql start; sleep 3; }
|
|
|
|
echo "dumping all MySQL DB to $tempf..."
|
|
mysqldump --all-databases --result-file=$tempf >/dev/null
|
|
|
|
service mysql stop
|
|
sleep 3
|
|
|
|
# create a backup copy of all mysql DB
|
|
echo "creating a backup copy of all the DB in $bckdir..."
|
|
bckdir=`mktemp -d /var/lib/mysql.XXXXXX` ||
|
|
{ echo "cannot create a backup copy of local MySQL db." >&2; exit 1; }
|
|
|
|
mv /var/lib/mysql/ $bckdir
|
|
|
|
echo "creating a new MySQL DB and change permissions..."
|
|
install -d -m755 -o mysql -g mysql /var/lib/mysql/
|
|
mysql_install_db -b /usr --ldata=/var/lib/mysql
|
|
/bin/chown -R mysql.mysql /var/lib/mysql/*
|
|
|
|
service mysql start
|
|
|
|
sleep 3
|
|
|
|
echo "restoring the dumped MySQL DB $tempf..."
|
|
mysql < $tempf
|
|
#mysql_fix_privilege_tables
|
|
|
|
rm -f $tempf
|
|
|
|
[ "$mysql_is_running" = "1" ] || service mysql stop
|
|
|