Voilà, c'est fait :
J'ai installé
mysql 8.0.20
et créé une base dans la quelle j'ai créé une table
puis un utilisateur du même nom que celui qui devra se connecter avec le shell mysql :
monusermysql
puis j'ai donné sur cette base les privilèges
ALL au compte utilisateur
monusermysql
puis j'ai quitté
mysql
J'ai installé le paquetage
mysql-shell
et j'ai ajouté à la liste des shells le shell
/usr/bin/mysqlsh add-shell /usr/bin/mysqlsh
et j'ai changé le shell du compte utilisateur
monusermysql
par
/usr/bin/mysqlsh :
chsh /usr/bin/mysqlsh monusermysql
Maintenant, quand l'utilisateur
monusermysql se connecte,
il tombe dans le shell de
mysql
Après, à vous de configurer
mysql et le programme
mysqlsh comme il vous plaira,
mais quoi qu'il en soit, il ne peut plus accéder à autre chose que
mysql
=======
Je ne connais pas du tout
Navicat, mais il faudrait déjà savoir comment ce programme va chercher à se connecter à un serveur de base de données,
si ça se trouve, il n'a même pas besoin d'ouvrir de session autrement qu'en se connectant directement au serveur de la base de données.
Donc, n'y aurait qu'à intervenir dans
mysql pour que son compte utilisateur puisse s'y connecter directement par
Navicat