Uživatelé aktualizující ze staré verze (<4.0.24) MySQL budou muset nejdříve nainstalovat MySQL 4.0.25. Pokud již máte současnou verzi, můžete tuto sekci přeskočit a pokračovat v další.
# emerge -av --buildpkg "<mysql-4.1"
Jeden z nejdůležitějších úkolů, který musí každý administrátor databáze provádět, je zálohování dat. Vzhůru do toho:
# mysqldump \ -uroot \ --password='vaše_heslo' \ -hlocalhost \ --all-databases \ --opt \ --allow-keywords \ --flush-logs \ --hex-blob \ --master-data \ --max_allowed_packet=16M \ --quote-names \ --result-file=BACKUP_MYSQL_4.0.SQL
Nyní by měl existovat soubor pojmenovaný
Nyní by byl také dobrý čas na zjištění, jestli záloha, kterou jste vytvořili, je funkční.
Pokud jste přeskočili krok #1, musíte nyní vytvořit záložní balíček (databázového serveru a nikoli dat) současné nainstalované verze:
# quickpkg dev-db/mysql
Nyní nastal čas na vyčištění současné verze a všech jejich dat:
# /etc/init.d/mysql stop # emerge -C mysql # tar cjpvf ~/mysql.$(date +%F_%H-%M).tar.bz2 /etc/mysql/my.cnf /var/lib/mysql/ # ls -l ~/mysql.* # rm -rf /var/lib/mysql/ /var/log/mysql
Poté, co jste se zbavili vaší staré MySQL instalace, můžete nyní nainstalovat
novou verzi. Všimněte si, že
# emerge -av ">mysql-4.1" # dispatch-conf # revdep-rebuild
Nyní nakonfigurujte nově nainstalovanou verzi MySQL a restartujte démona:
# emerge --config =mysql-4.1.<mikro_verze> # /etc/init.d/mysql start
Nakonec můžete importovat zálohu, kterou jste vytvořili během kroku #2.
# cat BACKUP_MYSQL_4.0.SQL \ | mysql \ -uroot \ --password='vaše_heslo' \ -hlocalhost \ --max_allowed_packet=16M # mysql_fix_privilege_tables \ --defaults-file=/etc/mysql/my.cnf \ --user=root \ --password='vaše_heslo'
Pokud nyní restartujete vašeho MySQL démona a vše proběhne jak předpokládáno, budete mít plně funkční 4.1.x verzi! :-)
# /etc/init.d/mysql restart
Pokud se setkáte s nějakými problémy během aktualizačního procesu, prosím,
oznamte je na naší
Pokud nejste šťastní s MySQL 4.1, je možné se vrátit zpět k MySQL 4.0.
# /etc/init.d/mysql stop # emerge -C mysql # rm -rf /var/lib/mysql/ /var/log/mysql # emerge --usepkgonly "<mysql-4.1" # tar -xjpvf mysql.[tag] -C / # /etc/init.d/mysql start
Za určitých podmínek je možné aktualizovat přímo na další majoritní verzi MySQL. Pokud víte, co děláte a myslíte, že to platí pro váš případ, zde je malý trik, který umožňí aktualizovat přímo na MySQL 4.1.
# quickpkg dev-db/mysql # /etc/init.d/mysql stop # tar -cjpvf ~/mysql.$(date +%F_%H-%M).tar.bz2 /etc/mysql/my.cnf /var/lib/mysql/ # ls -l ~/mysql.* # export MYSQL_STRAIGHT_UPGRADE=1 # emerge -av ">mysql-4.1" # unset MYSQL_STRAIGHT_UPGRADE # dispatch-conf # revdep-rebuild # /etc/init.d/mysql start # mysql_fix_privilege_tables --defaults-file=/etc/mysql/my.cnf \ -uroot --password='vaše_heslo' # mysql --database=mysql -uroot --password='vaše_heslo' < /tmp/new_pieces.sql # /etc/init.d/mysql restart # jen pro jistotu
Hodně štěstí a když něco selže, neříkejte, že jsme vás nevarovali! ;-)