Salut Romalafrite.

Envoyé par
Romalafrite
A priori, n'ayant rien fait de spécifique à ce niveau, ma config par défaut me permet bien cela.
Il suffit de le vérifier !
Vous vous rendez dans :
sudo nano /etc/ssh/sshd_config
Vous trouvez la ligne suivante :
PermitRootLogin without-password
et vous mettez à la place :
Vous sauvegardez !
Soit vous faites un :
ou soit vous faites :
Vous essayez de vous connecter par le compte "root", et en principe cela devrait fonctionner.
Ne pas oublier de mettre un mot de passe à votre compte "root".

Envoyé par
Romalafrite
là vous me parlez du compte root serveur dans la première ligne, et j'ai l'impression que vous me parlez du root mysql dans la deuxième ligne ?
Je vous parle bien, dans les deux cas, du même compte "root" par lequel vous vous êtes connectés dans votre système d'exploitation.
De toute façon, il n'existe pas deux comptes "root". Dans les deux cas, c'est le même.
Sauf que vous devez faire la distinction entre celui par lequel vous vous connectez dans votre système d'exploitation et celui qui possède tous les privilèges dans MySql.
On peut très bien supprimer les privilèges du compte "root" dans mysql et les attribuer à un autre compte.

Envoyé par
Romalafrite
si vous parlez de l'utilisateur root serveur, je comprends.
Jusqu'à présent, je parlais de l'accès au compte "root" de votre machine, à partie de SSH.

Envoyé par
Romalafrite
Je parle juste de me connecter comme le montre la ligne de commande que j'ai citée : (mysql -uroot -p) pour accéder à l'interface en ligne de commande
Dans ce cas, le compte "root" existe et possède un mot de passe.

Envoyé par
Romalafrite
c'est effectivement "mon_user" (en fait "romain"), qui a des droits via sudo uniquement.
Et ce compte "mon_user" a des droits qui peuvent être plus restreints par rapport à ceux de "root".
Mais cela ne vous empêche pas d'interroger la table "users".

Envoyé par
Romalafrite
si je fais ma commande mysql -uroot -p avec l'utilisateur "mon_user", ça ne marche pas
C'est normal car le compte par lequel vous vous êtes connecté se nomme "mon_user" et non pas "root".
Par contre, vous devez faire "mysql -umon_user -p".
Ou bien de changer de compte, en faisant "su root".
Et dans ce cas, vous pourrez faire "mysql -uroot -p".
Si vous désirez avoir pour le compte "mon_user", les mêmes privilèges que ceux du compte "root", vous devez intervenir dans le serveur mysql et de les modifier.
a) changer de compte dans votre linux, en vous mettant dans "root".
b) entrez dans phpmyadmin, avec le compte "root".
c) cliquez sur "comptes utilisateurs".
d) cliquez sur "editer les privilèges" de la ligne où vous avez le compte "mon_user".
e) en haut de la page, vous avez les onglet : "global", "bases de données", "Modifier le mot de passe", "information pour la connexion".
f) dans l'onglet "base de données", vous devez avoir :

J'ai réduite l'image afin qu'elle puisse entrer dans le message.
g) maintenant dans l'onglet "global", vous devez avoir :

Si vous désirez, pour le compte "mon_user", avoir les même sprivilèges que "root", vous cliquez sur "tout cocher".
Vous valider avant de sortir.
h) tout en bas de la page "comptes utilisateurs", il y a ceci :
NB : phpMyAdmin obtient la liste des privilèges directement à partir des tables MySQL. Le contenu de ces tables peut être différent des privilèges effectifs, si des changements manuels ont été apportés. Dans ce cas, il faudrait recharger les privilèges avant de continuer.
Vous cliquez sur "rechargez les privilèges" et vous sortez.

Envoyé par
Romalafrite
Je ne parle pas de privilèges, juste de l'accès à l'interface en ligne de commande (commande ssh mysql -uroot -p)
Justement vous n'avez pas bien compris ce que représente un compte et ses privilèges dans mysql et dans linux.
Si vous vous connectez par le compte "mon_user", dans mysql, vous aurez les privilèges de ce compte, s'ils ont été déclarés dans l'onglet "comptes utilisateurs".
Si par le compte "mon_user", ses privilèges pour accéder à mysql ne vous conviennent pas, il n'y a que deux solutions :
Soit vous attribuez, dans mysql, les mêmes privilèges que pour le compte "root" mais pour le compte "mon_user".
Soit vous continuez à faire la manipulation, qui consiste à passer dans linux du compte "mon_user" au compte "root" en faisant "su root".
Maintenant, je ne sais pas trop ce que vous avez mis comme mot de passe, pour le compte "root" aussi bien dans linux que dans mysql.
Afin d'éviter de taper à chaque fois et le compte et le mot de passe, vous pouvez l'introduire dans le fichier "my.ini", dans la partie "client".
1 2 3 4 5 6 7 8 9 10 11
| [client]
port = 3306
socket = mysql
# ----------------------- #
# access features #
# ----------------------- #
user = root
password = root
host = 127.0.0.1 |
A lire : https://www.mon-code.net/article/100...s-Options-file
@+
Partager