Différences entre les versions de « Syntaxe des commandes pour MariaDB »

De Wiki de Mémoire Vive
Aller à la navigation Aller à la recherche
 
(15 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
''Remplacez <span style="color: #FF0000;">base</span>, <span style="color: #FF0000;">utilisateur</span>, <span style="color: #FF0000;">PASSWORD</span>, par le nom de votre base de données, le nom de votre utilisateur et votre mot de passe.''
Pour se connecter à MariaDB en administrateur.
Pour se connecter à MariaDB en administrateur.


Ligne 7 : Ligne 9 :
<span style="color: #0000FF;"><big>'''Exemple pour la création de la base de données pour Piwigo.'''</big>
<span style="color: #0000FF;"><big>'''Exemple pour la création de la base de données pour Piwigo.'''</big>


----
<span style="color: #196f3d;">''Pour crée la base de données '''base''':''</span>
''MariaDB [(none)]>'' '''CREATE DATABASE <span style="color: #FF0000;">base</span> CHARACTER SET UTF8;'''
''Query OK, 1 row affected (0.00 sec)''
<span style="color: #196f3d;">''Créer l’utilisateur utilisateur pour localhost avec le mot de passe '''PASSWORD''' :''</span>
''MariaDB [(none)]>'' '''CREATE USER '<span style="color: #FF0000;">utilisateur</span>'@'localhost' IDENTIFIED BY '<span style="color: #FF0000;">PASSWORD</span>';'''
''Query OK, 0 ROWS affected (0.00 sec)''
<span style="color: #196f3d;">''Pour attribuer tous les droits à un utilisateur sur la base de données, il doit être créé avant :''</span>
''MariaDB [(none)]>'' '''GRANT ALL ON <span style="color: #FF0000;">base</span>.* TO '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''
''Query OK, 0 ROWS affected (0.00 sec)''
Maintenant, pour que les nouveaux droits attribués soient pris en compte, il est nécessaire de lancer la requête FLUSH :
''MariaDB [(none)]>'' '''FLUSH PRIVILEGES;'''
''Query OK, 0 ROWS affected (0.00 sec)''
<span style="color: #196f3d;">''Pour quitter MariaDB :''</span>
'''exit;'''
----
----


<span style="color: #196f3d;">''Pour crée la base de données '''base''':''</span>
<span style="color: #0000FF;"><big>'''Exemple pour supprimer les IP enregistrées dans le cadre d'un soupçon d'attaque par force brute pour Nextcloud.'''</big>


''MariaDB [(none)]>'' '''CREATE DATABASE <span style="color: #FF0000;">base</span> CHARACTER SET UTF8;'''
----
 
Pour se connecter en administrateur :
''Query OK, 1 row affected (0.00 sec)''
'''mysql -u root -p'''
   
  Ouvrir la base de données Nextcloud :
<span style="color: #196f3d;">''Créer l’utilisateur utilisateur pour localhost avec le mot de passe '''PASSWORD''' :''</span>
'''USE clouddbmv;'''
 
Ensuite, pour afficher tous les tables :
''MariaDB [(none)]>'' '''CREATE USER '<span style="color: #FF0000;">utilisateur</span>'@'localhost' IDENTIFIED BY '<span style="color: #FF0000;">PASSWORD</span>';'''
'''SHOW TABLES;'''
 
  Pour afficher toutes les valeurs de la table oc_bruteforce_attempts :
''Query OK, 0 ROWS affected (0.00 sec)''
'''SELECT * FROM oc_bruteforce_attempts;'''
Pour supprimer une adresse IP de la table, utilisez :
<span style="color: #196f3d;">''Pour attribuer tous les droits à un utilisateur sur la base de données, il doit être créé avant :''</span>
'''DELETE FROM oc_bruteforce_attempts WHERE IP="xxx.xxx.xxx.xxx";'''
 
'''EXIT;'''
''MariaDB [(none)]>'' '''GRANT ALL ON base.* TO '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''
 
''Query OK, 0 ROWS affected (0.00 sec)''
   
Maintenant, pour que les nouveaux droits attribués soient pris en compte, il est nécessaire de lancer la requête FLUSH :
 
''MariaDB [(none)]>'' '''FLUSH PRIVILEGES;'''
 
''Query OK, 0 ROWS affected (0.00 sec)''
<span style="color: #196f3d;">''Pour quitter MariaDB :''</span>
 
'''exit'''
----
----


Ligne 42 : Ligne 46 :
Exemples pour voir les utilisateurs créés :
Exemples pour voir les utilisateurs créés :


'''SELECT user FROM mysql.user;'''
'''SELECT user FROM mysql.user;'''


'''SELECT user,host FROM mysql.user;'''
'''SELECT user,host FROM mysql.user;'''


'''SELECT user,host,password FROM mysql.user;'''
'''SELECT user,host,password FROM mysql.user;'''


Pour un utilisateur donné, on peut voir ses droits de la façon suivante :
Pour un utilisateur donné, on peut voir ses droits de la façon suivante :


'''SHOW GRANTS FOR "<span style="color: #FF0000;">utilisateur</span>"@"localhost";'''
'''SHOW GRANTS FOR "<span style="color: #FF0000;">utilisateur</span>"@"localhost";'''


Pour supprimer les droits d’un utilisateur avec REVOKE :
Pour supprimer les droits d’un utilisateur avec REVOKE :


'''REVOKE ALL ON *.* FROM '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''
'''REVOKE ALL ON *.* FROM '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''


Pour supprimer un utilisateur :
Pour supprimer un utilisateur :


'''DROP USER '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''
'''DROP USER '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''


----
----
Ligne 66 : Ligne 70 :
Pour lister les bases de données :
Pour lister les bases de données :


'''show databases ;'''
'''show databases;'''


Pour supprimer une base de données :
Pour supprimer une base de données :


'''DROP DATABASE <span style="color: #FF0000;">base</span>;'''
'''DROP DATABASE <span style="color: #FF0000;">base</span>;'''


Les droits
<span style="color: #0000FF;"><big>'''Les droits'''</big>


Pour supprimer les droits d’un utilisateur sur une base de données avec REVOKE :
Pour supprimer les droits d’un utilisateur sur une base de données avec REVOKE :


'''REVOKE ALL ON base.* FROM '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''
'''REVOKE ALL ON <span style="color: #FF0000;">base</span>.* FROM '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''


La commande GRANT permet d’attribuer des droits sur la base de données :
La commande GRANT permet d’attribuer des droits sur la base de données :


'''GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP, LOCK TABLES ON base.* TO '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''
'''GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP, LOCK TABLES ON <span style="color: #FF0000;">base</span>.* TO '<span style="color: #FF0000;">utilisateur</span>'@'localhost';'''


Pour que les nouveaux droits attribués soient pris en compte, il est nécessaire de lancer la requête FLUSH comme vu précédemment :
Pour que les nouveaux droits attribués soient pris en compte, il est nécessaire de lancer la requête FLUSH comme vu précédemment :


'''FLUSH PRIVILEGES;'''
'''FLUSH PRIVILEGES;'''
 
----
 
<span style="color: #0000FF;"><big>'''Plus d’informations'''</big>
 
[[Sécurisation de l'installation de MariaDB|Sécurisation de l'installation de MariaDB]]
 
https://www.linuxtricks.fr/wiki/mysql-mariadb-memo-des-commandes-sql

Version actuelle datée du 31 octobre 2023 à 15:47

Remplacez base, utilisateur, PASSWORD, par le nom de votre base de données, le nom de votre utilisateur et votre mot de passe.

Pour se connecter à MariaDB en administrateur.

mysql -u root -p

Le mot de passe est défini lors de la procédure de sécurisation de MariaDB. Si vous n’avez pas effectué cette procédure et défini le mot de passe, laissez vide.

Exemple pour la création de la base de données pour Piwigo.


Pour crée la base de données base:
MariaDB [(none)]> CREATE DATABASE base CHARACTER SET UTF8;
Query OK, 1 row affected (0.00 sec)
Créer l’utilisateur utilisateur pour localhost avec le mot de passe PASSWORD :
MariaDB [(none)]> CREATE USER 'utilisateur'@'localhost' IDENTIFIED BY 'PASSWORD';
Query OK, 0 ROWS affected (0.00 sec)
Pour attribuer tous les droits à un utilisateur sur la base de données, il doit être créé avant :
MariaDB [(none)]> GRANT ALL ON base.* TO 'utilisateur'@'localhost';
Query OK, 0 ROWS affected (0.00 sec)
Maintenant, pour que les nouveaux droits attribués soient pris en compte, il est nécessaire de lancer la requête FLUSH :
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 ROWS affected (0.00 sec)
Pour quitter MariaDB :
exit;

Exemple pour supprimer les IP enregistrées dans le cadre d'un soupçon d'attaque par force brute pour Nextcloud.


Pour se connecter en administrateur :
mysql -u root -p
Ouvrir la base de données Nextcloud :
USE clouddbmv;
Ensuite, pour afficher tous les tables :
SHOW TABLES;
Pour afficher toutes les valeurs de la table oc_bruteforce_attempts :
SELECT * FROM oc_bruteforce_attempts;
Pour supprimer une adresse IP de la table, utilisez :
DELETE FROM oc_bruteforce_attempts WHERE IP="xxx.xxx.xxx.xxx";
EXIT;

Utilisateurs

Exemples pour voir les utilisateurs créés :

SELECT user FROM mysql.user;
SELECT user,host FROM mysql.user;
SELECT user,host,password FROM mysql.user;

Pour un utilisateur donné, on peut voir ses droits de la façon suivante :

SHOW GRANTS FOR "utilisateur"@"localhost";

Pour supprimer les droits d’un utilisateur avec REVOKE :

REVOKE ALL ON *.* FROM 'utilisateur'@'localhost';

Pour supprimer un utilisateur :

DROP USER 'utilisateur'@'localhost';

Base de données

Pour lister les bases de données :

show databases;

Pour supprimer une base de données :

DROP DATABASE base;

Les droits

Pour supprimer les droits d’un utilisateur sur une base de données avec REVOKE :

REVOKE ALL ON base.* FROM 'utilisateur'@'localhost';

La commande GRANT permet d’attribuer des droits sur la base de données :

GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP, LOCK TABLES ON base.* TO 'utilisateur'@'localhost';

Pour que les nouveaux droits attribués soient pris en compte, il est nécessaire de lancer la requête FLUSH comme vu précédemment :

FLUSH PRIVILEGES;

Plus d’informations

Sécurisation de l'installation de MariaDB

https://www.linuxtricks.fr/wiki/mysql-mariadb-memo-des-commandes-sql