MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Odzyskiwanie instancji mySQL z innego konta użytkownika (macOS)

Chwilowo używałem Maca mojego przyjaciela, dopóki mój własny nie był serwisowany. Tak więc na początku tego tygodnia usunąłem moje konto użytkownika na jego komputerze Mac, które zawierało kilka potrzebnych mi baz danych. Zrobiłem kopię zapasową większości danych użytkownika przed usunięciem tego konta, ale wkrótce zdałem sobie sprawę, że przegapiłem kopię zapasową bazy danych. Szczęśliwą rzeczą i prawdopodobnie powodem tego jest to, że katalog danych bazy danych zazwyczaj znajduje się poza kontem użytkownika. W tym artykule wspomnę o punktach, w jaki sposób odzyskałem dane bazy danych za pomocą konta użytkownika moich znajomych (lub możesz nawet utworzyć nowe i wykonać te same kroki).

  • Upewnij się, że mariadb jest nadal zainstalowany, uruchamiając brew install mariadb .Odkryłem, że jest dostępny, ale homebrew nie miał dostępu do katalogu instalacyjnego, ponieważ został utworzony z innego konta użytkownika. Więc najpierw odzyskujemy to, uruchamiając:
sudo chown -R $(whoami) /usr/local/bin

Jeśli polecenie zwróciło zrzut błędu pokazujący, do których folderów nie ma dostępu, możesz uruchomić to samo polecenie dla każdego z folderów. Uruchomiłem także brew upgrade mariadb aby pozostać na bieżąco z danymi z nowszą instalacją mariadb (chociaż generalnie nie radziłbym uruchamiać tego, dopóki nie utworzysz kopii zapasowej baz danych).

  • Następnie musisz dowiedzieć się, którego katalogu danych używa mariadb i na tym również uruchomić chown. Można to zrobić, uruchamiając:
brew services list

Spowoduje to wyświetlenie listy uruchomionych usług i ich konfiguracji uruchamiania. Po prostu otwórz konfigurację zadań mariadb i zobacz parametr --datadir w XML--powinien znajdować się wewnątrz bloku argumentów. W moim przypadku był to --datadir=/usr/local/var/mysql . Teraz skopiuj tę ścieżkę i uruchom:

sudo chown -R $(whoami) /usr/local/var/mysql

W tym momencie możesz się zastanawiać, dlaczego po prostu nie skopiować katalogu danych do własnego komputera Mac, a następnie bezpośrednio otworzyć bazę danych? Problem polega na tym, że folder ma tylko .ibd i .frm pliki, które tak naprawdę nie są importowane przez mySQL. Muszę więc ponownie uruchomić serwer mysql z tym katalogiem danych, a następnie go wyeksportować.

  • Następnie musiałem zatrzymać każdy działający serwer mysql, aby upewnić się, że mogę płynnie uruchomić mysql. Robię to, uruchamiając:
brew services stop mariadb
ps aux | grep mysql

Ostatnim poleceniem jest sprawdzenie, czy nie ma innych uruchomionych instancji mysql. Jeśli polecenie zwróci jakiekolwiek procesy z uruchomionym mysql, należy je zabić za pomocą polecenia kill -9, w przeciwnym razie otwórz Monitor aktywności, użyj wyszukiwania, aby odfiltrować mysql i wymusić ich ręczne zabicie.

Teraz świeżą instancję mysql można uruchomić za pomocą:

brew services start mariadb

Alternatywnie możesz nawet wywołać program znaleziony w folderze bin wymienionym w pliku XML konfiguracji usługi homebrew, tj. weź pierwszy ciąg programu i zastąp mysqld_safe do mysql.server start i uruchom polecenie. W moim przypadku zrobiłem to, uruchamiając:

/usr/local/opt/mariadb/bin/mysql.server start

To zwróci SUKCES! jeśli usługa uruchomi się pomyślnie. W przeciwnym razie musiałbyś sprawdzić dzienniki błędów (znajdował się w /usr/local/var/mysql folder dla mnie), aby dowiedzieć się, co poszło nie tak i rozwiązać go przez trochę googlowania.

I to prawie wszystko, możesz teraz wykonać kopię zapasową baz danych w normalny sposób. Robię to, uruchamiając:

mysql -u root -p<password>
show databases

A to dałoby listę wszystkich baz danych. A następnie wykonaj polecenie kopii zapasowej dla każdej bazy danych, którą chcesz utworzyć jako:

mysqldump -u root -p<password> dbname > dbname.sql

I tak to się właściwie robi. Przesłałem bazy danych do własnego laptopa i skończyłem.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie zimnej gotowości bazy danych MySQL lub MariaDB na Amazon AWS

  2. 4 sposoby na znalezienie wierszy zawierających małe litery w MariaDB

  3. Przełączanie baz danych i przełączanie awaryjne dla witryn Drupal przy użyciu MySQL lub PostgreSQL

  4. Funkcja SUM() w MariaDB

  5. MariaDB JSON_ARRAY() Objaśnienie