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!
Konfigurowanie maksymalnej liczby połączeń MySQL
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.
Optymalizacja MySQL dla silników InnoDB lub MyISAM
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.
Korzystanie z narzędzi wiersza poleceń MySQL (mysql, mysqldump itd.)
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 MySQL8.0.36-0na Stackhero, użyj8.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
Tworzenie zrzutu bazy danych MySQL
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.)
Eksportowanie bazy danych MySQL na komputer
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.
Importowanie bazy danych MySQL na serwer
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ć.