[DOCKER] Créez un environnement de test MySQL (+ des millions de données de test) en 5 minutes

TL;DR

--Configurer un conteneur MySQL Docker

Cela facilite le test de MySQL localement. Il peut être utilisé à des fins telles que pour tester la fonctionnalité de MySQL lui-même, quel que soit le contenu des données.

Si vous copiez et collez la commande, vous devriez être en mesure de créer l'environnement dans environ 5 minutes.

supposition

--Docker et Git sont installés et configurés

Méthode

1. Préparez les paramètres et les fichiers à rendre persistants


#Préparez un dossier pour mettre le fichier de configuration
mkdir -p ~/mysql/config
#Préparer un dossier pour le montage des données DB
mkdir ~/mysql/mount_dir

Ensuite, créez un fichier de paramètres.


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

Vous pouvez le définir comme vous le souhaitez (il peut être vide), mais ici, à titre d'exemple, mettons une restriction pour rendre le nom de la table plus bas.


[mysqld]
lower_case_table_names=1

2. Exécutez le conteneur MySQL Docker

Dans cet article, nous installerons MySQL 8.0.21.


#Acquisition d'image
docker pull mysql:8.0.21
#Exécution de conteneurs
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

En montant le dossier lors de l'exécution de docker run, vous pouvez conserver les données et les paramètres sans être supprimés si vous souhaitez mettre à jour le conteneur ultérieurement.

Si vous pouvez vous connecter à mysql avec la commande suivante, l'installation de MySQL est terminée.

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

3. Insérer des données

Une grande quantité de données de test peut être utilisée en utilisant le référentiel test_db présenté sur le site officiel de MySQL.

cd ~/mysql
#Téléchargez le référentiel GitHub
git clone [email protected]:datacharmer/test_db.git
# employees.Importer SQL
cd test_db
mysql -h127.0.0.1 -uroot -proot --port=3306 -t < employees.sql

Voici le nombre d'éléments de données. La table ʻemployees` à elle seule contient plus de 300 000 éléments, et il y a des millions de données au total, ce qui est pratique lorsque vous voulez vérifier tout en déplaçant les spécifications MySQL.

+--------------+------------------+------------------------------------------+
| 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 |
+--------------+------------------+------------------------------------------+

Le Document officiel contient des instructions d'utilisation détaillées, veuillez donc vous y référer pour plus de détails.

Remarques: migrer les données d'un autre environnement

L'article suivant décrit comment migrer des données, veuillez donc vous y référer si nécessaire.

Migrer des données vers un autre environnement à l'aide de [MySQL] mysqldump

4. (Bonus) Nettoyez après

Après le test, si vous n'avez plus besoin de MySQL, supprimez-le avec la commande suivante.

#Supprimer le conteneur
docker rm -f mysql
#Si vous n'avez pas besoin de données ou de paramètres, supprimez tout le dossier
sudo rm -rf ~/mysql

Recommended Posts

Créez un environnement de test MySQL (+ des millions de données de test) en 5 minutes
Créer une base de données dans un environnement de production
Créez un environnement de fonctionnement automatique du navigateur en 5 minutes à l'aide de Selenide
Comment créer un environnement Java en seulement 3 secondes
Comment créer un URI de données (base64) en Java
Créons une application TODO avec Java 3 Enregistrez les données temporaires dans MySQL-> Tout obtenir-> Afficher en haut
Créons une application TODO en Java 4 Implémentation de la fonction de publication
Spring Data JPA: écrivez une requête en Pure SQL dans @Query of Repository
Créons une application TODO en Java 6 Implémentation de la fonction de recherche
Créons une application TODO en Java 8 Implémentation des fonctions d'édition
Créer un environnement de test de navigateur à l'aide de Capybara dans l'environnement de développement Docker
Créons une application TODO avec Java 1 Brève explication de MVC
Créons une application TODO en Java 5 Changer l'affichage de TODO
Créez un environnement Vue3 avec Docker!
Créer une nouvelle application avec Rails
Créer un programme Servlet dans Eclipse
Enregistrer les données UUID dans MySQL sous 16 octets
[Rails] Je souhaite envoyer des données de différents modèles dans un formulaire
[Construction de l'environnement] Rails + MySQL + Docker (les débutants peuvent également l'utiliser en 30 minutes!)
Créez rapidement un environnement Web à l'aide de Docker
Implémentation de DBlayer en Java (RDB, MySQL)
Créer des données binaires de longueur variable en Java
Création d'un environnement de développement Lambda avec Eclipse
Construire un environnement Rails 6 + MySQL avec Docker compose
Modifier Mysql avec des commandes dans l'environnement Docker
Créons un environnement de développement Java (mise à jour)
Créer une application TODO dans Java 7 Créer un en-tête
Création d'un servlet dans l'environnement Liberty
Paramètres japonais pour mysql dans le conteneur Docker
Effectuer un vidage de thread dans un environnement JRE
[Première construction d'environnement] J'ai essayé de créer un environnement Rails6 + MySQL8.0 + Docker sur Windows 10.
Présentez Docker à l'environnement de développement et à l'environnement de test des applications Rails et MySQL existantes
Comment créer une combinaison unique de données dans la table intermédiaire des rails