MySQL: Zaawansowane użycie

Jak konfigurować, optymalizować, eksportować lub importować dane MySQL

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie MySQL cloud, które zapewnia wiele korzyści, w tym:

  • Nieograniczone połączenia i transfery.
  • Włączony interfejs webowy phpMyAdmin.
  • Łatwe aktualizacje za pomocą jednego kliknięcia.
  • Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj swoje życie: wypróbowanie rozwiązania MySQL cloud hosting Stackhero zajmuje tylko 5 minut!

W Stackhero nie ma sztywno ustawionego limitu liczby jednoczesnych połączeń, które może obsłużyć Twój serwer MySQL. Masz możliwość dostosowania tego parametru bezpośrednio z poziomu panelu Stackhero, aby dopasować go do potrzeb Twojej aplikacji.

Chociaż może kusić, aby ustawić tę wartość jak najwyżej, warto wybrać rozsądny limit. Każde otwarte połączenie zużywa pamięć RAM serwera, więc zbyt wysoka wartość może niepotrzebnie obciążyć Twoją instancję i potencjalnie spowodować niestabilność bazy danych.

Jeśli Twoja baza danych korzysta z silnika magazynowania InnoDB, możesz włączyć opcję "InnoDB Optimizations" w panelu Stackhero, aby zwiększyć wydajność.

Podobnie, jeśli baza danych używa silnika MyISAM, aktywacja opcji "MyISAM Optimizations" również może poprawić wydajność.

Jeśli nie masz pewności, z którego silnika korzysta Twoja baza lub którą opcję optymalizacji wybrać, zazwyczaj bezpiecznie jest domyślnie włączyć te opcje. W każdej chwili możesz je później dostosować w zależności od obciążenia lub zużycia zasobów.

Narzędzia wiersza poleceń MySQL, takie jak mysql i mysqldump, są bardzo przydatne do zadań takich jak importowanie i eksportowanie danych.

Jednym z prostych sposobów na dostęp do tych narzędzi jest uruchomienie ich w kontenerze Docker. Takie podejście pozwala utrzymać czystość środowiska lokalnego i eliminuje konieczność ręcznej instalacji.

Jeśli Docker nie jest częścią Twojego workflow, to żaden problem. Możesz sprawdzić Code-Hero na Stackhero. Ta platforma deweloperska dostępna przez przeglądarkę pozwala pracować bezpośrednio online, bez konieczności instalowania czegokolwiek lokalnie. Więcej informacji oraz możliwość przetestowania znajdziesz na stronie Code-Hero na Stackhero.

Aby rozpocząć pracę z Dockerem, możesz uruchomić kontener MySQL poleceniem:

docker run -it -v $(pwd):/mnt mysql:<MYSQL_VERSION> /bin/bash

Zamień <MYSQL_VERSION> na potrzebną wersję. Na przykład, jeśli korzystasz z MySQL 8.0.36-0 na Stackhero, użyj 8.0.36 (bez końcówki -0).

Po uruchomieniu kontenera możesz przetestować połączenie za pomocą polecenia:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT>

Twój bieżący katalog zostaje zamontowany jako /mnt w kontenerze (dzięki argumentowi $(pwd):/mnt). Takie rozwiązanie ułatwia przenoszenie plików między komputerem a kontenerem. Na przykład, aby wykonać kopię zapasową bazy danych na swój komputer, użyj:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > /mnt/<DATABASE>.sql

Aby utworzyć kopię zapasową bazy danych (tzw. "dump"), możesz użyć narzędzia mysqldump bezpośrednio ze swojego komputera. (Jeśli wolisz, zobacz poprzednią sekcję dotyczącą uruchamiania tego narzędzia w Dockerze.)

Aby wyeksportować bazę danych ze swojej instancji Stackhero na komputer, użyj polecenia:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > <DATABASE>.sql

Pamiętaj, aby zastąpić <XXXXXX>.stackhero-network.com, <PORT> oraz <DATABASE> rzeczywistymi danymi swojej instancji. Po uruchomieniu polecenia zostaniesz poproszony o podanie hasła root. Narzędzie mysqldump zapisze wtedy tabele bazy danych do pliku o nazwie <DATABASE>.sql.

Aby zaimportować bazę danych ze swojego komputera do instancji Stackhero, użyj polecenia:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql

Pamiętaj, aby zamienić yourDump.sql na rzeczywistą nazwę pliku SQL, który chcesz zaimportować.