|
Rozmiar: 2413
Komentarz: + highlight, aktualizacje po udanym upgrade
|
← Wersja 3 z 2019-06-16 23:20:52 ⇥
Rozmiar: 4721
Komentarz: Aktuzalizacja do 5.7
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 54: | Linia 54: |
| = Upgrade do wersji 5.7 = Upgrade z ostatniej wersji 5.6.x do najnowszej wersji 5.7.x przebiega poprawnie. Tzn. zgodnie z dokumentacją binarne pliki baz danych powinny zachować się poprawnie, niemniej warto mieć backup przez wykonaniem aktualizacji. == Probemy z buforem dla InnoDB == Po wykonaniu aktualizacji serwer bazy danych nie chce się uruchomić. W logach widać problem z "''buffer pool''". Na podstawie informacji znalezionych w sieci internet należy zmodyfikować my.cnf: {{{#!highlight ini numbers=off innodb_buffer_pool_load_at_startup = 0 innodb_buffer_pool_dump_at_shutdown = 1 }}} Po wykonaniu restartu można wustawić docelowe wartości zmiennych: {{{#!highlight ini numbers=off innodb_buffer_pool_load_at_startup = 1 innodb_buffer_pool_dump_at_shutdown = 1 }}} == mysql_upgrade == Po wykonaniu aktualizacji, zalecane jest uruchomienie narzędzia `mysql_upgrade`. W niektórych przypadkach może ono powodować błędy (nie pechodzi etapu `mysqlcheck`), dlatego też można wykonać polecenie ograniczające do tabel systemowych: {{{#!highlight bash numbers=off mysql_upgrade -s --user=root --password=password }}} == mysqlcheck == Uruchoemienie narzędzia mysql powoduje przejście po wszystkich katalogach w ramach bazy. Tak więc do sprawdzania może załapać się katalog nieistniejąca bazy danych ''RCS''. Tak więc sprawdzanie baz danych najlepiej wywołać poprzez: {{{#!highlight bash numbers=off mysqlcheck --all-databases --skip-database=RCS --user=root --password=password }}} == Konieczny restart serwera baz danych == Po wykonaniu `mysql_upgrade` oraz `mysqlcheck` należy wykonać restart bazy danych. W przciwnym przypadku mogą pojawiać się dziwne błędy np. w mysql_check NAGIOSa. == Modyfikacja uprawnień dla bazy danych sys == Po aktualizacji pojawiły się porblemy z wykonywaniem backupu bazy danych sys - brak uprawnień dla użytkownika wykonującego backup. Rozwiązaniem jest: {{{#!highlight mysql numbers=off GRANT USAGE ON *.* TO 'user'@'localhost'; GRANT SHOW VIEW ON *.* TO 'user'@'localhost'; GRANT EXECUTE ON *.* TO 'user'@'localhost'; flush privileges; }}} |
|
| Linia 55: | Linia 97: |
| * [[http://dev.mysql.com/doc/refman/5.6/en/upgrading-downgrading.html|Dokumentacja mySQL - upgrade|targe="_blank"]] | * [[https://dev.mysql.com/doc/refman/5.6/en/upgrading-downgrading.html|Dokumentacja mySQL - upgrade do 5.6.x|targe="_blank"]] * [[https://dev.mysql.com/doc/refman/5.7/en/upgrading.html|Dokumentacja mySQL - upgrade do 5.7.x|targe="_blank"]] |
| Linia 58: | Linia 101: |
| {i} ` `<<GetVal(SlownikNewBsd)>> | {i} ` `<<GetVal(SlownikNewBsd,adm-podpis)>> |
Upgrade bazy danych mySQL
Utworzenie struktury katalogów
Poniższe instrukcje dotyczą partycji dla beadm. Wykonanie na zapas. Być może prościej jest po prostu wykonac zfs rename:
zfs rename
zfs rename sys/data/v/db/mysql sys/data/v/db/mysql56
Utworzenie hierarchi katalogów
zfs create -o compress=off -o recordsize=8k sys/data/v/db/mysql56
zfs create -o primarycache=metadata -o recordsize=16k sys/data/v/db/mysql56/ibdata
zfs create -o primarycache=metadata -o recordsize=128k -o compress=lz4 sys/data/v/db/mysql56/logs
zfs create -o compress=off -o recordsize=8k -o exec=off sys/data/v/tmp/mysql
Wykonanie backupu obecnych baz
Przed przystąpieniem do procesu upgrade-ukonieczne jest wykonanie backupu wszystkich baz danych w celu późniejszego "wgrania" do nowego serwera. Wg dokumentacji mySQL upgrade (plików binarnych) powinien poprawnie wczytać obecne bazy danych. Niemniej mogą one (bazy) wymagać uruchomienia poleceń REPAIR TABLE w wybranych przypadkach. W ostateczności wgranie backupu od początku zaowocuje sukcesem.
Usunięcie dotychczasowej wersji
pkg delete mysql55-server mysql55-client
Zainstalowanie nowej wersji
Za pomocą własnego repozytorium skryptów należy zainstalować nową wersję:
pkg install -y mysql56-server
zmiany w rc.conf
W pliku startowym /etc/rc.conf należy utawić nastęujące zmienne:
mysql_enable="YES"
mysql_dbdir="/var/db/mysql56"
mysql_upgrade
Po zainstalowaniu nowej wersji mySQL należy wykonać polecenie:
mysql_upgrade --user=root --password=password
Wgranie backupów
Warto skorzystać ze wskazówek dotyczących szybkiego odzyskiwania backupów. Należy odzyskać kolejne bazy danych.
Upgrade do wersji 5.7
Upgrade z ostatniej wersji 5.6.x do najnowszej wersji 5.7.x przebiega poprawnie. Tzn. zgodnie z dokumentacją binarne pliki baz danych powinny zachować się poprawnie, niemniej warto mieć backup przez wykonaniem aktualizacji.
Probemy z buforem dla InnoDB
Po wykonaniu aktualizacji serwer bazy danych nie chce się uruchomić. W logach widać problem z "buffer pool". Na podstawie informacji znalezionych w sieci internet należy zmodyfikować my.cnf:
innodb_buffer_pool_load_at_startup = 0
innodb_buffer_pool_dump_at_shutdown = 1
Po wykonaniu restartu można wustawić docelowe wartości zmiennych:
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
mysql_upgrade
Po wykonaniu aktualizacji, zalecane jest uruchomienie narzędzia mysql_upgrade. W niektórych przypadkach może ono powodować błędy (nie pechodzi etapu mysqlcheck), dlatego też można wykonać polecenie ograniczające do tabel systemowych:
mysql_upgrade -s --user=root --password=password
mysqlcheck
Uruchoemienie narzędzia mysql powoduje przejście po wszystkich katalogach w ramach bazy. Tak więc do sprawdzania może załapać się katalog nieistniejąca bazy danych RCS. Tak więc sprawdzanie baz danych najlepiej wywołać poprzez:
mysqlcheck --all-databases --skip-database=RCS --user=root --password=password
Konieczny restart serwera baz danych
Po wykonaniu mysql_upgrade oraz mysqlcheck należy wykonać restart bazy danych. W przciwnym przypadku mogą pojawiać się dziwne błędy np. w mysql_check NAGIOSa.
Modyfikacja uprawnień dla bazy danych sys
Po aktualizacji pojawiły się porblemy z wykonywaniem backupu bazy danych sys - brak uprawnień dla użytkownika wykonującego backup. Rozwiązaniem jest:
GRANT USAGE ON *.* TO 'user'@'localhost';
GRANT SHOW VIEW ON *.* TO 'user'@'localhost';
GRANT EXECUTE ON *.* TO 'user'@'localhost';
flush privileges;
Źródła w sieci internet
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.
