2012-01-18 11 views
28

Kiedy zainstalowałem mysql, przyszedł on z dwiema bazami danych, mysql i schematem informacji. Przypadkowo usunąłem bazę danych mysql. Czy mogę go odtworzyć?Jak odzyskać/odtworzyć domyślną bazę danych mysql mysql

Ponadto, ponieważ zawiera on tabelę zawierającą informacje o użytkowniku, czy istnieje sposób, w jaki mogę wyświetlić informacje o użytkownikach bez niej?

+1

Wydaje mi się, że właśnie zainstalowałeś serwer MySQL. – Mchl

Odpowiedz

28

Jeśli nadal jesteś w stanie zalogować się (zakładam, że nie jesteś skoro nie ma tabela użytkownika) i mają bazy danych do zapisania, zrzucić je z

mysqldump --routines databasename > outfile.sql 

bazy danych MySQL może być odtworzony za pomocą polecenia

mysqld --initialize 

MySQL Documentation here

+0

Nadal byłem w stanie się zalogować. Pracowałem jak wdzięk, dziękuję uprzejmy panie. – user784637

+0

Dobrze, że nie miałem racji. – Mchl

+0

@LedZeppelin To wspaniałe i zaskakujące. Byłem pewien, że umrzesz w wodzie! –

1

miałem podobny problem: podczas tworzenia kopii zapasowych i-my operacji przywracania usuniętych baz danych MySQL i information_schema. Po przywróceniu własnej bazy danych nie mogliśmy tworzyć użytkowników (ani robić nic naprawdę), ponieważ te tabele systemowe nie zostały przywrócone. (Oczywiście, że nigdy byśmy tego nie zrobili w środowisku produkcyjnym w firmie, heh).

Jeśli nadal masz kopię starego pliku mysql_install_db (tak jak my), nie używaj go. Od MySQL 5.6.8 jest to skrypt perlowy. Podaje podobne opcje do mysqld_safe. działało dobrze - uruchomiliśmy odzyskiwanie InnoDB na naszym przywróconym db, zainstalowaliśmy systemowe bazy danych, przywróciliśmy nasz serwer slave do działania.

2

Usunąłem bazę danych mysql przez przypadek i nie pomogło mi mysqld --initialize. Brak błędów, nawet usługa mysql zaczęła się OK, ale folder mysql nie został utworzony i mysql nie był użyteczny - nie mogłem nawet utworzyć nowych baz danych.

Po spędzeniu dużo czasu na próbowanie różnych opcji zauważyłem, że mam przestarzałe opcji innodb_additional_mem_pool_size = 20m, który rozbił mysqld --initialize

Po zamocowaniu mysql config - to działa dobrze.

Powiązane problemy