Gestion élémentaire d'une base de données (MariaDB) pour l'enseignant ===================================================================== .. note:: Quelques commandes utiles pour gérer une base de données, plutôt à destination des enseinants (cette partie n'est pas au programme pour les élèves) On prend comme exemple la création d'une table pour la gestion des ordinateurs d'une salle , on en profite pour parler de l'intégrité d'une base. Créer une base de données avec utilisateur et droits : ------------------------------------------------------ .. code-block:: console sudo mysql .. code-block:: sql /* remplacer localhost par * pour autoriser la connexion des ordinateurs de la salle*/ CREATE USER gsalle@localhost IDENTIFIED BY '@pass7uyH'; /* pour supprimer DROP USER gsalle@localhost; */ /* céation de la table gestsalle */ CREATE DATABASE IF NOT EXISTS gestsalle; /* ajout de tous les droits à l'utilisateur */ GRANT ALL ON `gestsalle`.* TO 'gsalle'@'localhost'; /* Création d'une table dans la base */ Des commandes utiles -------------------- .. code-block:: sql /* créer une table à partir d'une requete */ create table premierensi SELECT * FROM `0810005R_premiere_nsi_contenu`; /* Créer une table à partie d'un model */ "CREATE TABLE IF NOT EXISTS `calendrier` LIKE `calendrier_model`" /* depuis le lcient , créer une table et la compléter avec un fichier sql */ CREATE DATABASE IF NOT EXISTS world; USE world; source /opt/sql/world.sql; GRANT ALL ON `world`.* TO 'sqluser'@'localhost'; /* Ajouter une conrainte */ alter table `liste_ordinateurs` ADD CONSTRAINT `salles_ordinateurs` FOREIGN KEY (`IDSALLE`) REFERENCES `salles` (`reference`); Passer de maria à mysql via un backup ------------------------------------- .. note:: Quand on fait un dump depuis mariaDB pour l'insérer dans mysql. .. code-block:: console sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' /home/admin/donnees2024.sql sed -i 's/CHARSET=utf8mb4/CHARSET=utf8/g' /home/admin/donnees2024.sql Gérer les utilisateurs ---------------------- .. code-block:: sql /* Afficher le utilisateurs */ select user,host from mysql.user; /* Afficher les droits d'un utilisateur */ show grants for "gsalle"@"localhost"; /* Changer un mot de passe */ ALTER USER "gsalle"@"localhost" IDENTIFIED BY '' FLUSH PRIVILEGES;