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.
--Docker et Git sont installés et configurés
#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
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
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.
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
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