Temat: skillowałem mysqld i pma_baza i tabele poszły w /dev/full

Czy ktoś ma jakiś pomysł co zrobić, żeby mieć to z powrotem? :D backup katalogu /var/lib/mysql nie istnieje :D :E Czy PhpMyAdm jest na tyle "mądry", że sobie odtworzy tabele? Jakaś procedura przywracania? ;-)

dokumentacja troche pomoze ale mam jeszcze takie cos:

    [3] => Array
(
[0] => pdftk_php
[1] => ip2country
[2] => pma_column_info
[3] => pma_designer_coords
[4] => pma_pdf_pages
[5] => pma_relation
[6] => pma_table_coords
[7] => pma_table_info
[8] => users
)


  
[3] => Array
(
[1] => Array
(
[0] => Array
(
[Type] => string
[Size] => 15
[Name] => ipst
[Flag] => not_null binary
)

[1] => Array
(
[Type] => string
[Size] => 15
[Name] => ipop
[Flag] => not_null binary
)

[2] => Array
(
[Type] => string
[Size] => 20
[Name] => some1
[Flag] => not_null binary
)

[3] => Array
(
[Type] => string
[Size] => 20
[Name] => some2
[Flag] => not_null binary
)

[4] => Array
(
[Type] => string
[Size] => 2
[Name] => ipcntr
[Flag] => not_null binary
)

)

[2] => Array
(
[0] => Array
(
[Type] => int
[Size] => 5
[Name] => id
[Flag] => not_null primary_key unsigned auto_increment
)

[1] => Array
(
[Type] => string
[Size] => 64
[Name] => db_name
[Flag] => not_null multiple_key binary
)

[2] => Array
(
[Type] => string
[Size] => 64
[Name] => table_name
[Flag] => not_null binary
)

[3] => Array
(
[Type] => string
[Size] => 64
[Name] => column_name
[Flag] => not_null binary
)

[4] => Array
(
[Type] => string
[Size] => 255
[Name] => comment
[Flag] => not_null
)

[5] => Array
(
[Type] => string
[Size] => 255
[Name] => mimetype
[Flag] => not_null
)

[6] => Array
(
[Type] => string
[Size] => 255
[Name] => transformation
[Flag] => not_null binary
)

[7] => Array
(
[Type] => string
[Size] => 255
[Name] => transformation_options
[Flag] => not_null binary
)

)

[3] => Array
(
[0] => Array
(
[Type] => string
[Size] => 64
[Name] => db_name
[Flag] => not_null primary_key binary
)

[1] => Array
(
[Type] => string
[Size] => 64
[Name] => table_name
[Flag] => not_null primary_key binary
)

[2] => Array
(
[Type] => int
[Size] => 11
[Name] => x
[Flag] =>
)

[3] => Array
(
[Type] => int
[Size] => 11
[Name] => y
[Flag] =>
)

[4] => Array
(
[Type] => int
[Size] => 4
[Name] => v
[Flag] =>
)

[5] => Array
(
[Type] => int
[Size] => 4
[Name] => h
[Flag] =>
)

)

[4] => Array
(
[0] => Array
(
[Type] => string
[Size] => 64
[Name] => db_name
[Flag] => not_null multiple_key binary
)

[1] => Array
(
[Type] => int
[Size] => 10
[Name] => page_nr
[Flag] => not_null primary_key unsigned auto_increment
)

[2] => Array
(
[Type] => string
[Size] => 50
[Name] => page_descr
[Flag] => not_null
)

)

[5] => Array
(
[0] => Array
(
[Type] => string
[Size] => 64
[Name] => master_db
[Flag] => not_null primary_key binary
)

[1] => Array
(
[Type] => string
[Size] => 64
[Name] => master_table
[Flag] => not_null primary_key binary
)

[2] => Array
(
[Type] => string
[Size] => 64
[Name] => master_field
[Flag] => not_null primary_key binary
)

[3] => Array
(
[Type] => string
[Size] => 64
[Name] => foreign_db
[Flag] => not_null multiple_key binary
)

[4] => Array
(
[Type] => string
[Size] => 64
[Name] => foreign_table
[Flag] => not_null binary
)

[5] => Array
(
[Type] => string
[Size] => 64
[Name] => foreign_field
[Flag] => not_null binary
)

)

[6] => Array
(
[0] => Array
(
[Type] => string
[Size] => 64
[Name] => db_name
[Flag] => not_null primary_key binary
)

[1] => Array
(
[Type] => string
[Size] => 64
[Name] => table_name
[Flag] => not_null primary_key binary
)

[2] => Array
(
[Type] => int
[Size] => 11
[Name] => pdf_page_number
[Flag] => not_null primary_key
)

[3] => Array
(
[Type] => real
[Size] => 12
[Name] => x
[Flag] => not_null unsigned
)

[4] => Array
(
[Type] => real
[Size] => 12
[Name] => y
[Flag] => not_null unsigned
)

)

[7] => Array
(
[0] => Array
(
[Type] => string
[Size] => 64
[Name] => db_name
[Flag] => not_null primary_key binary
)

[1] => Array
(
[Type] => string
[Size] => 64
[Name] => table_name
[Flag] => not_null primary_key binary
)

[2] => Array
(
[Type] => string
[Size] => 64
[Name] => display_field
[Flag] => not_null binary
)

)

[8] => Array
(
[0] => Array
(
[Type] => int
[Size] => 4
[Name] => id
[Flag] => not_null primary_key auto_increment
)

[1] => Array
(
[Type] => string
[Size] => 65
[Name] => firstname
[Flag] => not_null
)

[2] => Array
(
[Type] => string
[Size] => 65
[Name] => lastname
[Flag] => not_null
)

)



Paweł P. edytował(a) ten post dnia 30.03.11 o godzinie 23:01

konto usunięte

Temat: skillowałem mysqld i pma_baza i tabele poszły w /dev/full

Ilość szczegółów mnie powaliła. Dlatego wszystko co mogę zaproponować to zgadywanie. Sądząc po poziomie pytania - zgaduję, że myisam:
http://dev.mysql.com/doc/refman/5.0/en/myisam-repair.html
w phpmyadminie:
http://php.about.com/od/mysqladministration/qt/repair_...

W skrócie - myisam to format, w jakim mysql trzyma dane, inny to innodb. Myisam jest szybki, ale przy padzie bazy dane nawet te "dawno zatwierdzone", nie muszą trafić na dysk. Do tego - na dysku robi się bałagan i trzeba odpalić narzędzie, które przejrzy każdą tabelkę i się zastanowi, które dane mają sens.

Temat: skillowałem mysqld i pma_baza i tabele poszły w /dev/full

A warto to robic? co miales w tej bazie?

Temat: skillowałem mysqld i pma_baza i tabele poszły w /dev/full

Radosław O.:
A warto to robic? co miales w tej bazie?

bazę pma, od phpMyAdmina, na razie zakomentowałem
i mam nadzieje, że się utworzą od nowa jak zdejmę komentarze :D

Zapomniałem już jak to robiłem :o, jak nie było wogóle baz.

@Michał Zaborowski

No to się nauczyłem robić backup wszystkich katalogów.
Nie ma wogóle katalogu z nazwą tej bazy w systemie.

Na szczeście bazy z danymi są,
tylko baza z opisem pma poleciała w kosmos :D

Temat: skillowałem mysqld i pma_baza i tabele poszły w /dev/full

odpowiedzi:

PHPMyAdmin nie jest na tyle mądry.

Jedyne rozsądne sposoby na odzyskanie to:

0. dobry link :D

1. zaczytanie nazwa_tabeli_dump.sql przez interfejs webowy - jeśli się ma backup :D

2. odpakowanie z archiwum .zip/.tar.gz katalogu /var/lib/mysql/nazwa_tabeli/ - oczywiście jeśli wcześniej się go zrobiło

3. wyeksportowanie do *.sql bazy pma z innej działającej instalacji PHPMyAdmin-a i wciągnięcie do swojej bazy jak w pkt. 1.

4. wyciągnięcie z jakiegoś magicznie zachowanego pliku z danymi opisu i danych

magiczny kod w moim przypadku wygląda tak:


CREATE TABLE IF NOT EXISTS `pma_relation` (
`master_db` varchar(64) character set latin1 collate latin1_bin NOT NULL,
`master_table` varchar(64) character set latin1 collate latin1_bin NOT NULL,
`master_field` varchar(64) character set latin1 collate latin1_bin NOT NULL,
`foreign_db` varchar(64) character set latin1 collate latin1_bin NOT NULL,
`foreign_table` varchar(64) character set latin1 collate latin1_bin NOT NULL,
`foreign_field` varchar(64) character set latin1 collate latin1_bin NOT NULL,
PRIMARY KEY (`master_field`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

INSERT INTO `pma_relation` ( `master_db` , `master_table` , `master_field` , `foreign_db` , `foreign_table` , `foreign_field` ) VALUES
('konkursy', 'autorzy', 'nazwisko', 'konkursy', 'nazwiska', 'ID_nazwiska'),
('konkursy', 'autorzy', 'imie', 'konkursy', 'imiona', 'ID_imienia'),
('konkursy', 'finalisci', 'imie', 'konkursy', 'imiona', 'ID_imienia'),
('konkursy', 'finalisci', 'nazwisko', 'konkursy', 'nazwiska', 'ID_nazwiska'),
('konkursy', 'imprezy', 'zwyciezca', 'konkursy', 'finalisci', 'ID_finalisty'),
('konkursy', 'problemy', 'tematyka', 'konkursy', 'tematyka', 'ID_tematu'),
('konkursy', 'problemy', 'pochodzenie', 'konkursy', 'imprezy', 'ID_imprezy'),
('konkursy', 'problemy', 'auzadania', 'konkursy', 'autorzy', 'ID_autora');



Jak już wygenerowałem powyższy kod PHPem, poczułem się "w domu".

Nadmiarowy pomysł z przechowywaniem gdzieś tych danych uratował mi 4 litery.
W momencie po skillowaniu, mając świadomość, że pierwsze 2 rozwiązania są niemożliwe było mi zupełnie niefajnie. Nie mówiąc nic o ponownym ustawianiu tych relacji ręcznie - będę miał kod, który na ich podstawie zrobi jeszcze coś ciekawego.

Edit: dobry link, ze skryptem.sql na bazę pma :DPaweł P. edytował(a) ten post dnia 22.12.11 o godzinie 09:00

Następna dyskusja:

Sphinx Full-Text Search Eng...




Wyślij zaproszenie do