More

    Problème d’accès à une base de données MySQL

    Sur les serveurs MySQL, lorsque vous n’avez plus les droits sur une base de données pour un utilisateur précis, vous pouvez les-lui remettre, à condition de se connecter en tant que root.

    Contexte

    Nouvelle mésaventure sur mes serveurs labo mais cette fois-ci en SQL ! Un problème de droit sur la base de données est apparu, suite à une mauvaise commande « GRANT » qui a été passée au préalable.
    Le problème, c’est que les droits se sont placés sur le mauvais host SQL pour un utilisateur donné. Ainsi, en essayant de me connecter sur le serveur SQL avec les identifiants du compte concerné, impossible d’effectuer la connexion – « error connexion refused ».

    La faute, c’est en fait un problème dans l’admission des droits de connexion (et d’utilisation) d’un utilisateur vers un serveur SQL. Je me suis très certainement trompé dans la saisie de l’IP du serveur et donc, accès coupés.

    [divider style= »solid » top= »10″ bottom= »10″]

    Résolution du problème

    Pour pouvoir récupérer les privilèges pour l’utilisateur en question, vous allez devoir vous connecter en tant que root SQL sur le serveur concerné. Un petit mysql -u root -p et saisissez votre mot de passe.

    J’ai ensuite saisi ces trois commandes :

    UPDATE mysql.user SET host = '192.168.50.%' WHERE user = 'czs-user';
    UPDATE mysql.db SET host = '192.168.50.%' WHERE user = 'czs-user';
    FLUSH PRIVILEGES;

    Concrètement, deux tables sont modifiés (« mysql.user » et « mysql.db ») pour y modifier les champs « host ». L’adresse IP est à modifier en fonction de votre cas / situation. J’ai mis un joker en fin d’IP grâce au symbole « % ». Bien évidemment, changez aussi l’utilisateur à la place du « czs-user ».

    Pour que les modifications soient prise en compte, il n’est pas nécessaire de redémarrer le serveur SQL, mais de rafraichir les droits sur ce dernier. Ainsi, la commande « flush privileges; » recharge ces droits sur toutes les bases de données. Lorsque c’est terminé, déconnectez-vous du compte root, puis tentez de vous reconnecter avec le compte utilisateur qui posait problème – vous devriez dès à présent pouvoir vous connecter sans encombre !

    Source : http://stackoverflow.com/questions/1913984/re-assign-host-access-permission-to-mysql-user

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here

    2 + quinze =

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.