Yunohost - Consulter le contenu des tables de la base de données
Yunohost utilise MariaDB comme base de données pour la plupart des applications et fait donc tourner ce serveur en local. Il peut être intéressant (par curiosité) ou utile (mais dans ce cas là, il faut savoir ce que l’on fait) de pouvoir consulter les tables des différentes base de données (généralement une par application en nécessitant une).
PHPMyAdmin
Quand on pense base de données et site ou applications web, on pense à Phpmyadmin. Ce logiciel existe depuis 1998, est fourni par défaut dans l’application WAMP (ah mes débuts de développement de site web sous SPIP sous Windows dans les années 2000) et assez pratique et utile. Le problème est la sécurité. Il faut maintenir cette application à jour et surtout la sécuriser.
Ca tombe bien, l’ami SebOSS666 a fait un tutoriel à ce sujet : Quelles méthodes pour protéger un accès PHPMyAdmin ?
Yunohost a un paquet pour Phpmyadmin maintenue par l’ami JimboJoe, il faudra que je regarde quel est l’état de la sécurisation et si une contribution est nécessaire.
Dbeaver
Merci à Nolween pour m’avoir fait découvrir cet outil via un de ces toots sur Mastodon.
Dbeaver est un logiciel libre multiplateforme (disponible pour Ubuntu et Windows) https://dbeaver.io/download/. Il s’agit d’un logiciel client pour différentes bases de données : MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server...
Une fois installé sur un PC, il va falloir se connecter à la base de données derrière Yunohost. Cette base de données n’écoute qu’en local, sur un serveur. Le logiciel client Dbeaver tourne sur un PC...
Une solution pour établir une connexion sécurisée est donc de passer par un tunnel SSH, qui va permettre d’avoir une connexion sur le port d’écoute de la base de données sur le serveur, que l’on expose au client.
On lance donc un tunnel SSH sur la machine cliente (et on laissera le tunnel ouvert)
ssh mamachine.org -L 3306:127.0.0.1:3306 -N
avec les options -L qui permet de connecter un port distant à port local, -N pour indiquer la redirection de port.
On lance ensuite DBeaver en indiquant comme serveur "127.0.0.1". Et pour l’utilisateur, ce sera "root".
Il faut aller trouver le mot de passe de mysql sur la machine Yunohost, il est contenu dans le fichier /etc/yunohost/mysql.
Et on est alors connecté avec DBeaver.