restore innoDB databazy

Sekcia: Ostatné 19.12.2016 | 17:18
Avatar Milan Dvorský debian,mint kde,android  Administrátor

ahojte, potrebujem pomoct/poradit. na jednom zo serverov som upgradeoval na mariadb, ale po par dnoch tomu serveru hrablo a musel som to downgradnut nazad na mysql-server-5.7 ... problem mi nastal, ked som zo zalohy nakopiroval databazy, jedna bola innoDB a aj ked som povodne ibdata a iblogs nakopiroval tiez, neviem sa teraz v admineri dostat ani len do struktury tabuliek. nejaky dobry napad/postup ako to restornut z IBD a FRM suborov?

    • RE: restore innoDB databazy 19.12.2016 | 19:16
      Avatar WlaSaTy   Návštevník

      Hmmm. Takže ak som to pochopil, tak Ti to upgradlo InnoDB a to už nie je čitateľné starými binárkami. Ak to nie je ovšem niečo iné ako napríklad skopírovaná DB v nekonzistentnom stave keďže o logoh nepíšsš nič.

      Skúsil si nainštalovať na nejakú mini VM tú novú verziu MariaDB, podhodiť jej frm, MYI, ibd a MYD? Ak by to spapalo, tak si môžeš vytvoriť *.SQL s DB objektami a ich hodnotami. Len pozor na granty.

      • RE: restore innoDB databazy 19.12.2016 | 19:22
        Avatar Milan Dvorský debian,mint kde,android  Administrátor

        caf, dik za odpoved. ide o to, ze ja som urobil pre istotu backup pred upgradeom z mysql 5.7 tak, ze som cely folder skopcil inde, ono to dokonca odzalohoval samotny upgrade script

        po downgrade som to zo zalohy vratil spat, vratane iblogov a ibdata ... aj ibd aj frm subory ... MYI a MYD tam nemam

        • RE: restore innoDB databazy 19.12.2016 | 19:26
          Avatar WlaSaTy   Návštevník

          No dobre. A čo Ti to píše pri štarte? Neverím že ti naskočí jediná chyba znenia: "It's Broken!".

          • RE: restore innoDB databazy 19.12.2016 | 20:20
            Avatar Milan Dvorský debian,mint kde,android  Administrátor
            2016-12-19T16:19:02.409773Z 105 [Warning] InnoDB: Cannot open table owncloud/oc_appconfig from the internal data dictionary of InnoDB though the .frm file for the table exists. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting.html for how to resolve the issue.
            2016-12-19T16:19:02.411713Z 105 [Warning] InnoDB: Cannot open table owncloud/oc_appconfig from the internal data dictionary of InnoDB though the .frm file for the table exists. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting.html for how to resolve the issue.
            2016-12-19T16:19:02.414112Z 105 [Warning] InnoDB: Cannot open table owncloud/oc_appconfig from the internal data dictionary of InnoDB though the .frm file for the table exists. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting.html for how to resolve the issue.

             

            • RE: restore innoDB databazy 19.12.2016 | 20:46
              Avatar WlaSaTy   Návštevník

              Majú tie súbory správne názvy (case sensitive), práva na čítanie a zápis? Tá 105 mi pripomína Runtme error z Borland Pascalu kde to bolo presne o tom. I keď by bolo rozumné sa prihlásiť do databázy owncloud a dať aspoň desc na oc_appconfig ak nie select. To by mohlo povedať viac. Ale až potom keď skontroluješ "ls -l /var/lib/mysql/owncloud/oc_appconfig.*" Mali by tam byť súbory s štruktúrou, dátami, indexami, ...

              • RE: restore innoDB databazy 19.12.2016 | 21:23
                Avatar Milan Dvorský debian,mint kde,android  Administrátor
                root@mail:/home/yuno# ls -l /var/lib/mysql/owncloud/oc_appconfig.*
                -rw-rw---- 1 mysql mysql   8646 dec 19 14:00 /var/lib/mysql/owncloud/oc_appconfig.frm
                -rw-rw---- 1 mysql mysql 131072 dec 19 14:00 /var/lib/mysql/owncloud/oc_appconfig.ibd

                 

                • RE: restore innoDB databazy 19.12.2016 | 21:35
                  Avatar WlaSaTy   Návštevník

                  hmmm. Sú tam obe. Je to len na tej jednej tabulke? Ak hej, tá by sa dala prepajcnúť z inej inštancie owncloud (ak tam nebolo moc aplikácií, či čo je v tom).

                  mysql -u root -p owncloud
                  desc oc_appconfig;
                  select * from oc_appconfig; //censored
                  

                  • RE: restore innoDB databazy 20.12.2016 | 04:55
                    Avatar Milan Dvorský debian,mint kde,android  Administrátor

                    to robi na vsetkych tabulkach

                    • RE: restore innoDB databazy 20.12.2016 | 11:50
                      Avatar WlaSaTy   Návštevník

                      Pekný popis. Už si sa zamyslel nad tým aký detail si popísal?

    • RE: restore innoDB databazy 19.12.2016 | 20:02
      Avatar bedňa LegacyIce-antiX  Administrátor

      Zálohuj, cez DUMP.

      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
      • RE: restore innoDB databazy 19.12.2016 | 21:39
        Avatar WlaSaTy   Návštevník

        myslíš mysqldump alebo http://dump.sourceforge.net ? K tomu prvému musí nejako otvoriť dáta, a pevne verím že to robí na správnej verzii.

        • RE: restore innoDB databazy 20.12.2016 | 08:26
          Avatar bedňa LegacyIce-antiX  Administrátor

          Jasne že mysqldump.

          Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
          • RE: restore innoDB databazy 20.12.2016 | 21:50
            Avatar Jamicon   Návštevník

            Verzia mysql-5.7 sa ešte stále vyvýja, i keď je oficiálne hotová. Na mojom serveri (FreeBSD-10.3) používam viac mysql serverov rôznych verzií v rôznych jailoch. S verziou mysql57-server som s počiatku problémy pri aktualizáciách snáď až po verziu 5.7.12. Odvtedy je to už pohoda. Mne pri aktualizáciách nepomohlo väčšinou nič iné ako vrátiť pôvodný balík, urobiť zálohu databáz (mysqldump), urobiť update a databázy znovu nahrať. V poslednom čase už aktualizácia mysql57-server už nerozbíja dáta, takže relatívne pohoda, ale pre istotu si stále robím zálohy (minimálne snapshoty)

            • RE: restore innoDB databazy 21.12.2016 | 09:33
              Avatar WlaSaTy   Návštevník

              Mať dva typy zálohy pred rizikovým upgrade je rovnako dobré, ako vyskúšať si upgrade na testovacom systéme s replikou produkčných dát. Milan písal źe vrátil pôvodný balík a aj pôvodné dáta, ale nepomohlo mu to. To je trochu divné. Škoda že nevyskúšal aj chytiť tie dáta ako som mu písal, cez SQL terminál. Logovanie chýb v DB nemusí zapisovať plné znenie do logu (log level), ale na terminál to zvykne vypísať viac. A od toho sa dá odraziť.