User Tools

Site Tools


dev:mysql

MySQL / MariaDB

Lister les utilisateurs

select host, user, password from mysql.user;

+-----------+-------------+-------------------------------------------+
| Host      | User        | Password                                  |
+-----------+-------------+-------------------------------------------+
| localhost | root        |                                           |
| localhost | freshrss    | *                                         |
| localhost | nextcloud   | *                                         |
| localhost | ttrss       | *                                         |
| localhost | bookstack   | *                                         |
| localhost | wordpress   | *                                         |
| localhost | pommegyv    | *                                         |
| localhost | grimblog    | *                                         |
| localhost | grimbox     | *                                         |
| localhost | mariadb.sys |                                           |
+-----------+-------------+-------------------------------------------+
10 rows in set (0.009 sec)

Lister les bases de données

show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| bookstack_db       |
| freshrss           |
| grimbox_db         |
| information_schema |
| mysql              |
| nextcloud          |
| performance_schema |
| pommegyv_db        |
| ttrss              |
| wordpress_db       |
+--------------------+
10 rows in set (0.005 sec)

Dump d'une base de données

mysqldump -u $USER $DATABASE_NAME > $OUTPUT_FILE

Restore d'une base de données

#mysqldump -u user -p nomdatabase < nom_du_dump.sql

Création d'un nouvel utilisateur

Création d'un nouvel utilisateur

Commencez par lancer mysql -u root -p pour entrer dans le shell MySQL.

La commande ci-dessous va créer un nouvel utilisateur, newuser, dont le mot de passe sera password. Le champ localhost peut rester tel quel.

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Une fois que le nouvel utilisateur est créé, il faut encore lui accorder des privilèges. Pour cela, choisissez la base sur laquelle vous comptez lui donner un accès. Si elle n'existe pas encore, créez la:

CREATE DATABASE IF NOT EXISTS database_name;

Et finalement, on accorde les privilèges à l'utilisateur newuser sur la base database_name:

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

FLUSH PRIVILEGES;

Permissions

Plutôt que d'accorder un petit Grant All Privileges, il y a plusieurs niveaux de privilèges:

ALL PRIVILEGES - attribue l'ensemble des privilèges ci-dessous à l'utilisateur, pour une base de données spécifiée. Si aucune base de données n'est spécifiée, les privilèges seront attribués au niveau du système.

CREATE - permet à l'utilisateur de créer de nouvelles tables ou bases de données

DROP - autorise la suppression de tables ou de bases de données

DELETE - autorise la suppression d'enregistrements dans une table

INSERT - autorise l'insertion d'enregistrements dans une table

SELECT - autorise la sélection de données présentes dans la base

UPDATE - autorise la mise à jour d'enregistrements présents dans une table

GRANT OPTION - autorise la gestion des privilèges pour d'autres utilisateurs.

dev/mysql.txt · Last modified: 2023/12/01 08:30 by fred