« MariaDB » : différence entre les versions

De knowledge
Aller à la navigation Aller à la recherche
Balises : Révoqué Éditeur visuel
Aucun résumé des modifications
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
Suite de de sombres conflits mySql est devenu MariaDB. Tout reste pourtant compatible.
Suite de de sombres conflits mySql est devenu MariaDB. Tout reste pourtant compatible.
=== Création et configuration d'un "user" ===
Pour accéder à une base de donnée on crée un utilisateur dans un premier temps puis on lui donne les droits necessaires.
Exemple pour créer un utilisateur qui aura TOUS les droits sur une base (celui qui peut tout casser)<syntaxhighlight lang="mysql">
CREATE USER 'admin-base1'@'192.168.1.%' IDENTIFIED BY PASSWORD '*63D85DCA15EAFFC58C908FD2FAE50CCBC60C4EA2'
GRANT ALL PRIVILEGES ON base.* to 'admin-base1'@'192.168.1.%'
</syntaxhighlight>On crée d'abord un "user" qui pourra se loguer depuis le réseau local seulement avec un mot de passe dont on donne le "hash".
Ensuite un donne les droits complets sur la base (INSERT, DELETE, UPDATE... mais aussi CREATE, DROP....)
Pour générer le "hashcode" on utilise le console mariadb:
Par exemple on veut le hashcode pour le mot de passe 'toto'<syntaxhighlight lang="mysql">
SELECT PASSWORD('toto');
</syntaxhighlight>Qui nous donne:<syntaxhighlight lang="text">
+-------------------------------------------+
| PASSWORD('toto')                          |
+-------------------------------------------+
| *63D85DCA15EAFFC58C908FD2FAE50CCBC60C4EA2 |
+-------------------------------------------+
1 row in set (0.001 sec)
</syntaxhighlight>C'est cette valeur que l'on a utilisé pour le CREATE USER.


== Sauvegardes et restauration des bases ==
== Sauvegardes et restauration des bases ==
Un outil existe mariadb-backup mais il sert surtout a sauvegarder les fichiers de données. Un tar en local ou un rsync en distant fait la même chose.  
L'outil utilisé est mariadb-backup (mariabackup) et il n'est pas installé par défaut.  


==== Sauvegarde (dump) ====
==== Installation ====
le concept de mariadb-dump est de créer un fichier de commandes sal qui sera capable de recréer la base ET on contenu. (CREATE DATABASE, CREATE TABLE, INSERT INTO...).
Pour l'installer :<syntaxhighlight lang="bash">
sudo apt install mariadb-backup
# Ou sur les versions anciennes (< Debian 10)
apt install mariadb-client # ce qui fait que, normalement dans ce as, il est installé avec le client.


C'est un peu brutal comme méthode et pas très économe en espace disque mais. ca marche!
</syntaxhighlight>


Pour sauvegarder la base "MaBase" on fait :<syntaxhighlight lang="bash">
==== Sauvegarde ====
sudo mariadb-dump --user root --databases MaBase > MaBase.sql
On sauvegarde complete de toutes les base par :<syntaxhighlight lang="bash">
</syntaxhighlight>On peut gzipper le fichier MaBase.sql  pour gagner de la place.(moi on passe de 2.8 Mo à 613 ko
sudo mariabackup --backup --target-dir=/var/mariadb/backup/ --user=root
</syntaxhighlight>On pourrait le faire sous un autre utilisateur en précisant le mot de passe du user utilisé.


=== Restauration ===
les fichiers de sauvegarde sont dans /var.mariadb/backup avec la même structure que les fichiers d'origine. (un rsync fait la même chose!)
Si la base est "cassée" il suffira de la détruire :<syntaxhighlight lang="bash">
sudo mysql -e "DROP DATABASE IF EXISTS MaBase"
</syntaxhighlight>et de lancer le ficher dans un interpréteur mariadb<syntaxhighlight lang="bash">
sudo mariadb < MaBase.sql
</syntaxhighlight>

Version actuelle datée du 16 juin 2023 à 17:42

Suite de de sombres conflits mySql est devenu MariaDB. Tout reste pourtant compatible.

Création et configuration d'un "user"

Pour accéder à une base de donnée on crée un utilisateur dans un premier temps puis on lui donne les droits necessaires.

Exemple pour créer un utilisateur qui aura TOUS les droits sur une base (celui qui peut tout casser)

CREATE USER 'admin-base1'@'192.168.1.%' IDENTIFIED BY PASSWORD '*63D85DCA15EAFFC58C908FD2FAE50CCBC60C4EA2'
GRANT ALL PRIVILEGES ON base.* to 'admin-base1'@'192.168.1.%'

On crée d'abord un "user" qui pourra se loguer depuis le réseau local seulement avec un mot de passe dont on donne le "hash".

Ensuite un donne les droits complets sur la base (INSERT, DELETE, UPDATE... mais aussi CREATE, DROP....)

Pour générer le "hashcode" on utilise le console mariadb:

Par exemple on veut le hashcode pour le mot de passe 'toto'

SELECT PASSWORD('toto');

Qui nous donne:

+-------------------------------------------+
| PASSWORD('toto')                          |
+-------------------------------------------+
| *63D85DCA15EAFFC58C908FD2FAE50CCBC60C4EA2 |
+-------------------------------------------+
1 row in set (0.001 sec)

C'est cette valeur que l'on a utilisé pour le CREATE USER.

Sauvegardes et restauration des bases

L'outil utilisé est mariadb-backup (mariabackup) et il n'est pas installé par défaut.

Installation

Pour l'installer :

sudo apt install mariadb-backup
# Ou sur les versions anciennes (< Debian 10)
apt install mariadb-client # ce qui fait que, normalement dans ce as, il est installé avec le client.

Sauvegarde

On sauvegarde complete de toutes les base par :

sudo mariabackup --backup --target-dir=/var/mariadb/backup/ --user=root

On pourrait le faire sous un autre utilisateur en précisant le mot de passe du user utilisé.

les fichiers de sauvegarde sont dans /var.mariadb/backup avec la même structure que les fichiers d'origine. (un rsync fait la même chose!)