NOTLimai Docs
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_docker

2. 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 -d

4. Vérifier le statut

Vérifiez que le conteneur est en cours d'exécution :

docker-compose ps

5. Se connecter à MySQL

Pour accéder au shell MySQL :

docker-compose exec mysql mysql -u root -p

Ou depuis votre application, utilisez les paramètres de connexion :

Host: localhost
Port: 3306
Database: votre_database
User: votre_user
Password: votre_password

6. Arrêter le conteneur

Pour arrêter MySQL :

docker-compose down

Pour arrêter et supprimer les données :

docker-compose down -v

Installation locale (sans Docker)

Sur Ubuntu/Debian

sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation

Sur macOS

brew install mysql
brew services start mysql
mysql_secure_installation

Sur 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 mysql

Commandes 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;