[DOCKER] Erstellen Sie in 5 Minuten eine MySQL-Testumgebung (+ Millionen von Testdaten)

TL;DR

Dies macht es einfach, MySQL lokal zu testen. Es kann beispielsweise zum Testen der MySQL-Funktion selbst verwendet werden, unabhängig vom Inhalt der Daten.

Wenn Sie den Befehl kopieren und einfügen, sollten Sie in der Lage sein, die Umgebung in etwa 5 Minuten zu erstellen.

Annahme

--Docker und Git sind installiert und konfiguriert

Methode

1. Bereiten Sie Einstellungen und Dateien vor, die dauerhaft gespeichert werden sollen


#Bereiten Sie einen Ordner für die Einstellungsdatei vor
mkdir -p ~/mysql/config
#Bereiten Sie einen Ordner zum Mounten von DB-Daten vor
mkdir ~/mysql/mount_dir

Erstellen Sie als Nächstes eine Einstellungsdatei.


vi ~/mysql/config/config-file.cnf

Sie können es so einstellen, wie Sie möchten (es kann leer sein), aber hier als Beispiel setzen wir eine Einschränkung, um den Tabellennamen niedriger zu machen.


[mysqld]
lower_case_table_names=1

2. Führen Sie den MySQL Docker-Container aus

In diesem Artikel installieren wir MySQL 8.0.21.


#Bildaufnahme
docker pull mysql:8.0.21
#Containerausführung
docker run --name mysql -p 3306:3306 \
-v $HOME/mysql/config:/etc/mysql/conf.d \
-v $HOME/mysql/mount_dir:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.21

Durch Mounten des Ordners beim Ausführen der Docker-Ausführung können Sie die Daten und Einstellungen beibehalten, ohne gelöscht zu werden, wenn Sie den Container später aktualisieren möchten.

Wenn Sie mit dem folgenden Befehl eine Verbindung zu MySQL herstellen können, ist die MySQL-Installation abgeschlossen.

mysql -h127.0.0.1 -uroot -proot --port=3306

3. Daten einfügen

Eine große Menge von Testdaten kann mithilfe des auf der offiziellen MySQL-Website eingeführten Repositorys test_db verwendet werden.

cd ~/mysql
#Laden Sie das GitHub-Repository herunter
git clone [email protected]:datacharmer/test_db.git
# employees.SQL importieren
cd test_db
mysql -h127.0.0.1 -uroot -proot --port=3306 -t < employees.sql

Das Folgende ist die Anzahl der Datenelemente. Allein die Tabelle "Mitarbeiter" enthält mehr als 300.000 Elemente, und es gibt insgesamt Millionen von Daten. Dies ist praktisch, wenn Sie beim Verschieben der MySQL-Spezifikationen überprüfen möchten.

+--------------+------------------+------------------------------------------+
| table_name   | expected_records | expected_crc                             |
+--------------+------------------+------------------------------------------+
| employees    |           300024 | 4d4aa689914d8fd41db7e45c2168e7dcb9697359 |
| departments  |                9 | 4b315afa0e35ca6649df897b958345bcb3d2b764 |
| dept_manager |               24 | 9687a7d6f93ca8847388a42a6d8d93982a841c6c |
| dept_emp     |           331603 | f16f6ce609d032d6b1b34748421e9195c5083da8 |
| titles       |           443308 | d12d5f746b88f07e69b9e36675b6067abb01b60e |
| salaries     |          2844047 | b5a1785c27d75e33a4173aaa22ccf41ebd7d4a9f |
+--------------+------------------+------------------------------------------+

Das offizielle Dokument enthält detaillierte Gebrauchsanweisungen. Weitere Informationen finden Sie hier.

Hinweise: Migrieren Sie Daten aus einer anderen Umgebung

Der folgende Artikel beschreibt das Migrieren von Daten. Lesen Sie ihn daher bei Bedarf.

Migrieren Sie Daten mit [MySQL] mysqldump in eine andere Umgebung

4. (Bonus) Danach aufräumen

Wenn Sie MySQL nach dem Testen nicht mehr benötigen, entfernen Sie es mit dem folgenden Befehl.

#Container löschen
docker rm -f mysql
#Wenn Sie keine Daten oder Einstellungen benötigen, löschen Sie den gesamten Ordner
sudo rm -rf ~/mysql

Recommended Posts

Erstellen Sie in 5 Minuten eine MySQL-Testumgebung (+ Millionen von Testdaten)
Erstellen Sie eine Datenbank in einer Produktionsumgebung
Erstellen Sie mit Selenide in 5 Minuten eine automatische Browser-Betriebsumgebung
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
So erstellen Sie einen Daten-URI (base64) in Java
Erstellen wir eine TODO-App mit Java 3 Speichern Sie temporäre Daten in MySQL-> Get all-> Display on top
Lassen Sie uns eine TODO-App in Java 4 erstellen. Implementierung der Buchungsfunktion
Spring Data JPA: Schreiben Sie eine Abfrage in Pure SQL in @Query of Repository
Lassen Sie uns eine TODO-App in Java 6 erstellen. Implementierung der Suchfunktion
Lassen Sie uns eine TODO-App in Java 8 erstellen. Implementierung von Bearbeitungsfunktionen
Erstellen Sie eine Browsertestumgebung mit Capybara in der Docker-Entwicklungsumgebung
Erstellen wir eine TODO-Anwendung mit Java 1 Kurze Erläuterung von MVC
Lassen Sie uns eine TODO-App in Java 5 erstellen. Schalten Sie die Anzeige von TODO um
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie eine neue App mit Rails
Erstellen Sie ein Servlet-Programm in Eclipse
Speichern Sie UUID-Daten in MySQL als 16 Byte
[Rails] Ich möchte Daten verschiedener Modelle in einem Formular senden
[Umgebungskonstruktion] Rails + MySQL + Docker (Anfänger können es auch in 30 Minuten verwenden!)
Erstellen Sie mit Docker schnell eine Webumgebung
Implementierung von DBlayer in Java (RDB, MySQL)
Erstellen Sie Binärdaten variabler Länge in Java
Erstellen einer Lambda-Entwicklungsumgebung mit Eclipse
Bearbeiten Sie MySQL mit Befehlen in der Docker-Umgebung
Lassen Sie uns eine Java-Entwicklungsumgebung erstellen (Aktualisierung)
Erstellen Sie eine TODO-App in Java 7 Create Header
Erstellen eines Servlets in der Liberty-Umgebung
Japanische Einstellungen für MySQL im Docker-Container
Erstellen Sie einen Thread-Dump in einer JRE-Umgebung
[Erste Umgebungskonstruktion] Ich habe versucht, eine Rails6 + MySQL8.0 + Docker-Umgebung unter Windows 10 zu erstellen.
Führen Sie Docker in die Entwicklungs- und Testumgebung vorhandener Rails- und MySQL-Apps ein
So erstellen Sie eine eindeutige Datenkombination in der Schienen-Zwischentabelle