Base de donnée
MySQL
Guide pour installer et lancer MySQL avec Docker
Installation avec Docker
La méthode la plus simple pour lancer MySQL est d'utiliser Docker avec un repository préconfiguré.
1. Cloner le repository
Clonez le repository Docker MySQL générique :
git clone https://github.com/NOTLimai/mysql_generic_docker.git
cd mysql_generic_docker2. Configuration
Modifiez le fichier .env ou docker-compose.yml selon vos besoins :
- MYSQL_ROOT_PASSWORD : Mot de passe root
- MYSQL_DATABASE : Nom de la base de données
- MYSQL_USER : Utilisateur de la base de données
- MYSQL_PASSWORD : Mot de passe de l'utilisateur
- Port : Port d'exposition (par défaut 3306)
3. Lancer le conteneur
Démarrez MySQL avec Docker Compose :
docker-compose up -d4. Vérifier le statut
Vérifiez que le conteneur est en cours d'exécution :
docker-compose ps5. Se connecter à MySQL
Pour accéder au shell MySQL :
docker-compose exec mysql mysql -u root -pOu depuis votre application, utilisez les paramètres de connexion :
Host: localhost
Port: 3306
Database: votre_database
User: votre_user
Password: votre_password6. Arrêter le conteneur
Pour arrêter MySQL :
docker-compose downPour arrêter et supprimer les données :
docker-compose down -vInstallation locale (sans Docker)
Sur Ubuntu/Debian
sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installationSur macOS
brew install mysql
brew services start mysql
mysql_secure_installationSur Windows
Téléchargez et installez MySQL depuis le site officiel.
Commandes utiles
Gestion du service
# Démarrer MySQL
sudo systemctl start mysql
# Arrêter MySQL
sudo systemctl stop mysql
# Redémarrer MySQL
sudo systemctl restart mysql
# Statut de MySQL
sudo systemctl status mysqlCommandes MySQL
-- Lister les bases de données
SHOW DATABASES;
-- Créer une base de données
CREATE DATABASE nom_database;
-- Utiliser une base de données
USE nom_database;
-- Lister les tables
SHOW TABLES;
-- Créer un utilisateur
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
-- Donner tous les privilèges
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;Problèmes courants
Port déjà utilisé
Si le port 3306 est déjà utilisé, modifiez le port dans docker-compose.yml :
ports:
- "3307:3306"Connexion refusée
Vérifiez que le conteneur est en cours d'exécution et que les credentials sont corrects.
Réinitialiser le mot de passe root
Avec Docker :
docker-compose exec mysql mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'nouveau_password';
FLUSH PRIVILEGES;