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.
--Docker und Git sind installiert und konfiguriert
#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
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
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.
Der folgende Artikel beschreibt das Migrieren von Daten. Lesen Sie ihn daher bei Bedarf.
Migrieren Sie Daten mit [MySQL] mysqldump in eine andere Umgebung
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