Ceci est une ancienne révision du document !
Mémo MariaDB
Relancer le serveur
Sur une Debian :
service mariadb stop service mariadb start
Administrer les bases de données
Se connecter sur le serveur avec la commande mariadb
Lister les bases existantes 1):
SHOW DATABASES;
Créer une base 2)
CREATE DATABASE nom_de_la_base;
Lister les utilisateurs :
SELECT USER FROM mysql.user;
Attribuer des droits à un utilisateur
GRANT ALL ON nom_de_la_base.* TO utilisateur@localhost;
Supprimer une base 3) :
DROP DATABASE nom_de_la_base;
Obtenir les journaux d'erreur
Se connecter sur le serveur avec la commande mariadb et taper la commande suivante pour connaitre l'emplacement des logs :
MariaDB [(none)]> show global variables like 'log_error'; +---------------+--------------------------+ | Variable_name | Value | +---------------+--------------------------+ | log_error | /var/log/mysql/error.log | +---------------+--------------------------+
Obtenir diagnostic santé des tables
Dans la console de l'OS, lancer la commande mariadb-check
mariadb-check --all-databases > /tmp/mariadb-check.txt
Chercher “warning” pour trouver les tables problématiques.
Source : https://mariadb.com/kb/en/mariadb-check/
Réparer les tables d'une base
mariadb-check -r limesurvey > /tmp/mariadb-repair.txt
Source : https://mariadb.com/kb/en/mariadb-check/
Obtenir taille des tables d'une base
Tailles en mégaoctets
SELECT (data_length+index_length)/POWER(1024,2) tablesize_mb, TABLE_NAME FROM information_schema.tables WHERE table_schema='limesurvey' ORDER BY tablesize_mb DESC;
Produire une sauvegarde
Pour l'ensemble du serveur :
mariadb-dump --all-databases --single-transaction > nom_fichier.sql
Pour une base en particulier :
mariadb-dump nom_base --single-transaction > nom_fichier.sql
Pour exclure une table de la sauvegarde, utiliser l'option --ignore-table :
mariadb-dump nom_base --single-transaction --ignore-table=nom_table > nom_fichier.sql
Pour ne pas sauvegarder les données d'une table (n'exporter que sa structure), utiliser l'option --ignore-table-data :
mariadb-dump nom_base --single-transaction --ignore-table-data=nom_base.nom_table > nom_fichier.sql
Source : https://mariadb.com/kb/en/mariadb-dump/#usage
Restaurer une sauvegarde
mariadb db_name < backup-file.sql
Source : https://mariadb.com/kb/en/mariadb-dump/#restoring
Ordonnanceur
-- Activer l'ordonnanceur MariaDB SET GLOBAL event_scheduler = ON; -- Vérifier si l'ordonnanceur est activé : devrait contenir "event_scheduler" SHOW PROCESSLIST; -- Se positionner sur la bonne base USE limesurvey; -- Créer un évènvement de purge des logs d'audit LimeSurvey CREATE EVENT purge_auditlog ON SCHEDULE EVERY 1 DAY DO DELETE FROM lime_auditlog_log WHERE created < DATE_SUB(CURRENT_DATE(),INTERVAL 2 MONTH); -- Vérifier présence de l'évènement SHOW EVENTS;