Aktualizacja bazy danych MySQL 5.0 oraz 5.1 do wersji 5.5
Opiszę aktualizację serwera bazy danych MySQL z wersji 5.0, 5.1 do wersji 5.5. Niestety przy aktualizacji mogą wystąpić problemy i niektóre tabele otrzymają przedrostek #mysql50# np. `#mysql50#tablename` i inne dziwy… Opiszę ttuaj najbardziej łopatologicnzie jak wykonać taka aktualizację na Windowsie, na linuxie należy postępować analogicznie. Poniższy opis jest dla tych osób, które nie korzystają z instalatora lecz może im być przydatny fragment dotyczący mysql_upgrade. Aktualizując z wersji 5.0 najpierw zaktualizuj do wersji 5.1
- Zrób backup aktualnego serwera MySQL i wszystkich plików (katalogi bin, data oraz share jak i plik my.ini)
- Ściągnij najnowsze pliki binarne serwera MySQL ze strony http://dev.mysql.com/downloads/mysql/ (zajmują około 130M)
- Wyłącz serwer MySQL, jeżeli jest to usługa to wyłącz usługę wpisz w Start < Uruchom:
NET STOP MySQL
lub też możesz ręcznie wyłączyć na liście w zarządzaniu usługami w Start < Uruchom wpisz:
services.msc
potem usuń starą usługę:
"C:\mysql\bin\mysqld.exe" --remove
jeśli serwer nie jest zainstalowany jako usułga to wyłącz poprzez mysqladmin.exe
"C:\mysql\bin\mysqladmin.exe" -u root -phaslo shutdown
(pamiętaj aby zastąpić -phaslo własnym hasłem np. jeśli hasło to 123 to -p123 – bez odstępu między -p a hasłem, jeżeli root nie ma hasła to możesz usunąć parametr -p)
- Po wyłączeniu serwera możesz podmienić stare pliki nowymi zachowująć stary katalog data
- Zainstaluj serwer jako usługę:
"C:\mysql\bin\mysqld.exe" --install
uruchom serwer jako usługę (Start < Uruchom):
NET START MySQL
lub po prostu uruchom serwer:
"C:\mysql\bin\mysqld.exe"
- Uruchom mysql_upgrade:
"C:\mysql\bin\mysql_upgrade.exe" -u root -phaslo
Następnie ściągnij plik fill_help_tables-5.5.sql.zip MySQL Help Tables 5.5 ze strony http://dev.mysql.com/doc/index-other.html, wypakuj do katalogu bin i wgraj go komendą:
"C:\mysql\bin\mysql.exe" -u root -phaslo mysql < fill_help_tables-5.5.sql
Jeśli z jakichś względów nie może użyć mysql_upgrade przejdź do punktu niżej:
- Jeżeli nie możesz użyć mysql_upgrade możesz wykonać kolejno wszystkie podane niżej komendy (wykonuj je jedna po drugiej, pamiętaj o podaniu hasła), musisz także ściągnąć plik MySQL Help Tables 5.5 jak w punkcie wyżej. (Jeżeli mysql to starsza wersja 5.0 lub te pliki istnieją to po wykonaniu pierwszego polecenia z końcówką –auto-repair, przejdź do folderu share i skopiuj z niego dwa pliki mysql_system_tables_fix.sql oraz mysql_fix_privilege_tables.sql do folderu bin lecz mysql_system_tables_fix.sql nie jest potrzebne, uważaj żeby to nie był stary plik wymagany jest przy aktualizacji z 5.0 do 5.1
zanim zaktualizujemy z 5.0 do 5.5 musimy przeprowadzić aktualizację do 5.1 za pomocą mysql_upgrade i wtedy zostanie wygenerowany plik: mysql_system_tables_fix.sql który wgrywamy poleceniem:
"C:\mysql\bin\mysql.exe" -u root -phaslo --force mysql < mysql_fix_privilege_tables.sql
)
cd /d "C:\mysql\bin\" mysqlcheck.exe -u root -phaslo --all-databases --check-upgrade mysqlcheck.exe -u root -phaslo --all-databases --auto-repair mysql.exe -u root -phaslo mysql < fill_help_tables-5.5.sql mysqlcheck.exe -u root -phaslo --all-databases --check-upgrade mysqlcheck.exe -u root -phaslo --all-databases --fix-db-names mysqlcheck.exe -u root -phaslo --all-databases --fix-table-names
- Zrestartuj serwer, wszystko powinno działać. Jeśli coś jest nie tak poszukaj rozwiązania w manualu.
Najnowsze komentarze