Installation d'un système de gestion base de données
Une base de données est un ensemble d'informations ou données organisées en tableaux afin d'être facilement accessibles, gérées et mises à jour. Un système de gestion de base de données (SGBD) est un logiciel permettant de stocker, manipuler et accéder à ces données.Deux modèles de bases de données se détachent :
- les bases de données relationnelles. Elles sont constituées d’un ensemble de tableaux reliés entre eux par des relations. Au sein de ces tableaux, les données sont classés par catégories (ou attributs). Le langage standard pour manipuler ce genre de données est le Structured Query Langage (SQL). Parmi les plus connues, citons SQLite, Oracle, MySQL, MariaDB (fork de MySQL), PostgreSQL et Microsoft SQL Server.
- les bases de données NoSQL. Plus récentes, elles présentent une architecture distribuée et permettent la manipulation de volumes de données importants. Elles sont en plein essor dans le contexte du Big Data. On retiendra comme logiciels Cassandra, MongoDB, Voldemort, CouchDB et SimpleDB.
Installation du serveur de base de données MariaDB
MariaDB s'installe via le paquet mariadb-server
Par défaut, le seul compte utilisateur disponible dans MariaDB est le compte root, non protégé par mot de passe. Ce comportement n’étant pas sécurisé, nous allons lancer un script de configuration:
apt install mariadb-server
Par défaut, le seul compte utilisateur disponible dans MariaDB est le compte root, non protégé par mot de passe. Ce comportement n’étant pas sécurisé, nous allons lancer un script de configuration:
mysql_secure_installation
qui permet de :- changer le mot de passe au compte root de MariaDB ;
- empêcher les connexions anonymes ;
- désactiver les connexions distantes réalisées avec le compte root ;
- supprimer la base de test.
Installation et utilisation des clients
Pour pouvoir se connecter et administer la base de données du serveur MariaDB (resp. PostgreSQL) depuis un terminal, on installe le client correspondant
La connexion à MariaDB (resp. PostgreSQL) s'effectue à l'aide de la commande
où
Il est aussi possible d'utiliser mariadb (resp. psql) en mode non interactif, avec l'option
Il est aussi possible d'utiliser l'application web Adminer (anciennement PhpMyAdmin) pour manipuler les bases de données SQL gérées par SQLite, MariaDB et PostgreSQL. Il suffit pour cela de télécharger le fichier adminer.php sur un serveur Web (HTTP+PHP) et d'y faire pointer son navigateur Web.
En général, une application web requiert la création d'un compte utilisateur et d'une base de données dédiée. Ceci peut se faire depuis le client avec les requêtes SQL suivantes
où
apt install mariadb-client
(resp. apt install postgresql-client
)La connexion à MariaDB (resp. PostgreSQL) s'effectue à l'aide de la commande
mariadb -u db_user -D db_name -p
(resp. psql -U db_user -d db_name -W
)où
db_name
désigne le nom de la base de données et db_user le nom de l'utilisateur à utiliser.Il est aussi possible d'utiliser mariadb (resp. psql) en mode non interactif, avec l'option
-e
: mariadb -u db_user -D db_name -p -e "SQL_expression"
(resp. psql -U db_user -d db_name -W -c "SQL_expression"
`)Il est aussi possible d'utiliser l'application web Adminer (anciennement PhpMyAdmin) pour manipuler les bases de données SQL gérées par SQLite, MariaDB et PostgreSQL. Il suffit pour cela de télécharger le fichier adminer.php sur un serveur Web (HTTP+PHP) et d'y faire pointer son navigateur Web.
En général, une application web requiert la création d'un compte utilisateur et d'une base de données dédiée. Ceci peut se faire depuis le client avec les requêtes SQL suivantes
CREATE DATABASE db_name; CREATE USER 'db_user' IDENFIED BY PASSWORD 'password'; GRANT ALL PRIVILEGES ON db_name.* TO 'db_user'@localhost IDENTIFIED BY 'password' FLUSH PRIVILEGES;
où
db_name
désigne le nom de la base de données, db_user
le nom de l'utilisateur et password
le mot de passe utilisateur.