# Sympa (pas sympa du tout)

🚀 Méthode de Réinstallation "Ultra Propre" MariaDB  
L'objectif est d'effacer tous les fichiers de configuration, les utilisateurs et les bases de données MariaDB pour garantir que la prochaine installation est vierge.

Étape 1 : Purge et Suppression Complète  
Cette étape supprime tous les paquets et tous les fichiers de configuration associés.

Arrêtez MariaDB :

Bash  
￼  
sudo systemctl stop mariadb  
Désinstallez et purgez MariaDB : L'option purge est essentielle car elle supprime les fichiers de configuration qui persistent après une simple remove.

Bash  
￼  
sudo apt purge mariadb-server mariadb-client -y  
Supprimez les dépendances inutiles :

Bash  
￼  
sudo apt autoremove -y  
Supprimez les fichiers de données et de configuration résiduels : Ceci efface toutes les bases de données existantes (y compris les reliquats du socket, des logs, et de la DB Sympa).

```
Bash
￼sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql /run/mysqld
```

  
Attention : Cette commande supprime définitivement toutes les bases de données MySQL/MariaDB de cette machine. Confirmez que vous n'avez pas d'autres données importantes à conserver.

Étape 2 : Réinstallation et Sécurisation  
Réinstallez les paquets MariaDB :

Bash

```
sudo apt update
sudo apt install mariadb-server mariadb-client -y
```

  
Vérifiez le statut : MariaDB devrait démarrer automatiquement.

Bash  
￼

```
sudo systemctl status mariadb
```

  
Sécurisez l'installation (méthode manuelle) : Puisque mariadb\_secure\_installation ne fonctionne pas et que le root TCP/IP est souvent bloqué, nous devons débloquer le root via le socket Unix :

Bash  
￼

```
# 1. Connectez-vous via le socket (qui est maintenant autorisé pour root du système)
sudo mariadb
```

```
# 2. Définissez le mot de passe root pour l'accès TCP/IP (dans la console MariaDB>)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'VOTRE_MOT_DE_PASSE_ROOT';
FLUSH PRIVILEGES;
\q
```

  
Étape 3 : Création de la DB Sympa  
Vous pouvez maintenant créer la DB Sympa sur une base MariaDB saine.

Connectez-vous à MariaDB via TCP/IP :

Bash  
￼

```
mariadb -u root -h 127.0.0.1 -p
##(Utilisez VOTRE_MOT_DE_PASSE_ROOT)
```

Créez l'utilisateur et la base de données Sympa :

```html
##SQL
CREATE DATABASE sympa CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'sympa'@'localhost' IDENTIFIED BY 'VOTRE_MOT_DE_PASSE_SYMPA';
GRANT ALL PRIVILEGES ON sympa.* TO 'sympa'@'localhost';
FLUSH PRIVILEGES;
\q
```

=================

### 🛠️ Action : Modification du fichier `50-client.cnf`

Ajoutez la ligne `socket = /run/mysqld/mysqld.sock` sous la section **`[client]`**.

1. **Ouvrez le fichier :**
    
    <div _ngcontent-ng-c3693737113="" class="code-block ng-tns-c3693737113-369 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwi6nPKd5qiRAxUAAAAAHQAAAAAQowM" decode-data-ved="1" jslog="223238;track:impression,attention;BardVeMetadataKey:[["r_1582ab801a3b83fd","c_1f1dcb84e862f1fd",null,"rc_9a855d098a9f6b1f",null,null,"fr",null,1,null,null,1,0]]"><div _ngcontent-ng-c3693737113="" class="code-block-decoration header-formatted gds-title-s ng-tns-c3693737113-369 ng-star-inserted"><span class="ng-tns-c3693737113-369">Bash</span><div _ngcontent-ng-c3693737113="" class="buttons ng-tns-c3693737113-369 ng-star-inserted"><button aria-label="Copier le code" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c3693737113-369 mat-unthemed _mat-animation-noopable ng-star-inserted"></button></div></div><div _ngcontent-ng-c3693737113="" class="formatted-code-block-internal-container ng-tns-c3693737113-369"><div _ngcontent-ng-c3693737113="" class="animated-opacity ng-tns-c3693737113-369"></div></div></div>```
    sudo nano /etc/mysql/mariadb.conf.d/50-client.cnf
    
    ```
    
    <div _ngcontent-ng-c3693737113="" class="code-block ng-tns-c3693737113-369 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwi6nPKd5qiRAxUAAAAAHQAAAAAQowM" decode-data-ved="1" jslog="223238;track:impression,attention;BardVeMetadataKey:[["r_1582ab801a3b83fd","c_1f1dcb84e862f1fd",null,"rc_9a855d098a9f6b1f",null,null,"fr",null,1,null,null,1,0]]"><div _ngcontent-ng-c3693737113="" class="formatted-code-block-internal-container ng-tns-c3693737113-369"><div _ngcontent-ng-c3693737113="" class="animated-opacity ng-tns-c3693737113-369"></div></div></div>
2. **Ajoutez la ligne critique :**
    
    <div _ngcontent-ng-c3693737113="" class="code-block ng-tns-c3693737113-370 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwi6nPKd5qiRAxUAAAAAHQAAAAAQpAM" decode-data-ved="1" jslog="223238;track:impression,attention;BardVeMetadataKey:[["r_1582ab801a3b83fd","c_1f1dcb84e862f1fd",null,"rc_9a855d098a9f6b1f",null,null,"fr",null,1,null,null,1,0]]"><div _ngcontent-ng-c3693737113="" class="code-block-decoration header-formatted gds-title-s ng-tns-c3693737113-370 ng-star-inserted"><span class="ng-tns-c3693737113-370">Ini, TOML</span><div _ngcontent-ng-c3693737113="" class="buttons ng-tns-c3693737113-370 ng-star-inserted"><button aria-label="Copier le code" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c3693737113-370 mat-unthemed _mat-animation-noopable ng-star-inserted"></button></div></div><div _ngcontent-ng-c3693737113="" class="formatted-code-block-internal-container ng-tns-c3693737113-370"><div _ngcontent-ng-c3693737113="" class="animated-opacity ng-tns-c3693737113-370"></div></div></div>```
    # Fichier 50-client.cnf
    
    # This group is read by the client library
    # Use it for options that affect all clients, but not the server
    #
    
    [client]
    # Ajout de la ligne pour forcer le chemin du socket
    socket = /run/mysqld/mysqld.sock
    
    # ... le reste du contenu natif
    ```