Ceci est une ancienne révision du document !


MariaDB

Sur une Debian :

service mariadb stop
service mariadb start

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;

Créer un utilisateur : 3)

CREATE USER 'utilisateur'@'localhost'; -- accès local uniquement
CREATE USER 'utilisateur'@'%';         -- accès distant

Attribuer des droits à un utilisateur : 4)

GRANT ALL    ON nom_de_la_base.* TO 'utilisateur'@'localhost'; -- tous les droits en local
GRANT SELECT ON nom_de_la_base.* TO 'utilisateur'@'%';         -- lecture seule en accès distant

Supprimer une base 5) :

DROP DATABASE nom_de_la_base;

La documentation : https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/

Solution qui marche sur une Debian :

  • Éditer /etc/mysql/mariadb.conf.d/50-server.cnf
  • Remplacer bind-address=127.0.0.1 par bind-address=0.0.0.0

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 |
+---------------+--------------------------+

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/

mariadb-check -r limesurvey > /tmp/mariadb-repair.txt

Source : https://mariadb.com/kb/en/mariadb-check/

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;

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

mariadb db_name < backup-file.sql

Source : https://mariadb.com/kb/en/mariadb-dump/#restoring

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

  • memo/mariadb.1727099905.txt.gz
  • Dernière modification : il y a 18 mois
  • de Arnaud Jacquemin