web-dev-qa-db-fra.com

Accès refusé pour l'utilisateur 'root @ localhost' (avec mot de passe: NO)

Je suis nouveau sur mysql, j'essaie de faire tourner Wordpress dans mon bureau Windows et il nécessite Mysql.

J'installe tout avec Web Platform Installer fourni par Microsoft. Je n'ai jamais défini un mot de passe root pour mysql et en dernière étape de l'installation de wordpressit askfor root mot de passe de mysql.

Quel est le mot de passe par défaut pour root (s’il en existe un) Et comment le changer?

J'essaie

mysql -u root password '123'

mais ça me montre 

Access denied for user 'root@localhost' (using password:NO)

après cela j'essaie 

mysql -u root -p

mais il demande un mot de passe que je n'ai pas

Merci d'avance


Mise à jour: comme Bozho a dit que j'ai fait ce qui suit

 1 - I stoped MySql Service from Windows services
 2 - Open CMD
 3 - change location to cd c:\program files\mysql\bin
 4 - write this command

 mysqld --defaults-file="C:\\program files\\mysql\\mysql server 5.1\\my.ini" --init-files=C:\\root.txt

 5 - Command run with a warning about characterset which I mentioned below
 6 - I start MySql Service from windows services
 7 - in command line I write

mysql -u root -p
EnterPassword: 123  // 123 was the password

8 - the commandline shows following bug

Access denied for user 'root@localhost' (using password:**YES**)

J'attends de tes nouvelles.

76
Nasser Hadjloo

Vous pouvez réinitialiser votre mot de passe root . N'oubliez pas qu'il est déconseillé d'utiliser root sans mot de passe.

34
Bozho

pour ce genre d'erreur; il vous suffit de définir un nouveau mot de passe pour l'utilisateur root en tant qu'administrateur. suivez les étapes comme suit:

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  1. Arrête le service/démon de mysql en cours d'exécution 

    [root ~]# service mysql stop   
    mysql stop/waiting
    
  2. Démarrez mysql sans aucun privilège en utilisant l'option suivante: Cette option est utilisée pour démarrer sans utiliser le système de privilèges de MySQL.

    [root ~]# mysqld_safe --skip-grant-tables &
    

À ce moment, le terminal semblera s’arrêter . Que ce soit, et utilisez un nouveau terminal pour les prochaines étapes.

  1. entrez l'invite de commande mysql 

    [root ~]# mysql -u root
    mysql> 
    
  2. Fixer le paramètre d'autorisation de l'utilisateur root;

    mysql> use mysql;
    Database changed
    mysql> select * from  user;
    Empty set (0.00 sec)
    mysql> truncate table user;
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option;
    Query OK, 0 rows affected (0.01 sec)
    

* si vous ne voulez pas de mot de passe ou plutôt un mot de passe vide 

    mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;
    Query OK, 0 rows affected (0.01 sec)*
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

Confirmez les résultats:

    mysql> select Host, user from user;
+-----------+------+
| Host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
  1. Quittez le shell et redémarrez mysql en mode normal.

    mysql> quit;
    [root ~]# kill -KILL [PID of mysqld_safe]
    [root ~]# kill -KILL [PID of mysqld]
    [root ~]# service mysql start
    
  2. Maintenant, vous pouvez vous connecter avec succès en tant qu'utilisateur root avec le mot de passe que vous avez défini. 

     [root ~]# mysql -u root -pYourNewPassword 
     mysql> 
    
51
user2977819

1) Vous pouvez définir un mot de passe root en appelant la console MySQL. Il est situé dans

C:\wamp\bin\mysql\mysql5.1.53\bin par défaut. 

Accédez au répertoire et tapez MySQL. puis définissez le mot de passe comme suit.

    > SET PASSWORD FOR root@localhost = PASSWORD('new-password');

2) Vous pouvez configurer l’application phpmyadmin de wamp pour l’utilisateur root en modifiant 

C:\wamp\apps\phpmyadmin3.3.9\config.inc.php 

Cela ressemble à ceci:

        $cfg['Servers'][$i]['verbose'] = 'localhost';
        $cfg['Servers'][$i]['Host'] = 'localhost';
        $cfg['Servers'][$i]['port'] = '';
        $cfg['Servers'][$i]['socket'] = '';
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
        $cfg['Servers'][$i]['extension'] = 'mysqli';
        $cfg['Servers'][$i]['auth_type'] = 'config';
        $cfg['Servers'][$i]['user'] = 'root';
        $cfg['Servers'][$i]['password'] = 'YOURPASSWORD';
        $cfg['Servers'][$i]['AllowNoPassword'] = false;

L'erreur "Accès refusé pour l'utilisateur 'root @ localhost' (avec mot de passe: NO)" Sera résolue lorsque vous définissez $cfg['Servers'][$i]['AllowNoPassword'] sur false

Remarque: phpmyadmin est un outil séparé fourni avec wamp. Il fournit simplement une interface à MySQL. Si vous modifiez le mot de passe de ma racine SQL, vous devez modifier les configurations de phpmyadmin. Généralement, phpmyadmin est configuré pour l'utilisateur root. 

13
yellobird

J'avais la même erreur sur OS X El capitaine. Mysql version 5.7. J'ai été capable de me connecter à mysql avec root après avoir exécuté ces étapes.

Arrêtez le serveur mysql

Sudo mysql.server stop

Démarrer mysql en mode sans échec

Sudo mysqld_safe --skip-grant-tables

Avec mysqld, changez la base de données en mysql et mettez à jour les détails pour l'utilisateur 'root'.

show databases;
use mysql;
UPDATE mysql.user 
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
    WHERE User = 'root' AND Host = 'localhost';
exit;

Après cela, arrêtez le processus 'mysqld_safe' et démarrez mysql normalement. Vous devriez pouvoir vous connecter à mysql en utilisant root et un nouveau mot de passe. Documents SQL pour plus de détails

8
sharingan_debugger

Assurez-vous que le service MySQL fonctionne sur votre ordinateur, puis suivez les instructions de MySQL pour configurer initialement root (recherchez "windows" et cela vous mènera aux étapes de configuration de root):

http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html

3
sholsapp

Pour MySQL 5.7. Ce sont les étapes ci-dessous: 

Arrêtez complètement votre serveur MySQL. Cela peut être fait en accédant à la fenêtre Services de Windows XP et Windows Server 2003, où vous pouvez arrêter le service MySQL.

Ouvrez votre invite de commande MS-DOS à l'aide de "cmd" dans la fenêtre Exécuter. À l'intérieur, accédez à votre dossier bin MySQL, par exemple C:\MySQL\bin, à l'aide de la commande cd.

Exécutez la commande suivante dans la commande Invite: mysqld.exe -u root --skip-grant-tables

Laissez l'invite de commande MS-DOS actuelle en l'état et ouvrez une nouvelle fenêtre d'invite de commande MS-DOS.

Accédez à votre dossier bin MySQL, tel que C:\MySQL\bin à l'aide de la commande cd.

Entrez mysql et appuyez sur Entrée.

L'invite de commande MySQL devrait maintenant fonctionner. Tapez use mysql; afin que nous passons à la base de données "mysql".

Exécutez la commande suivante pour mettre à jour le mot de passe:

update user set authentication_string = mot de passe ('1111') où utilisateur = 'root';

2
Khushi

Dans votre code, remplacez le 'root' par votre serveur nom d'utilisateur et votre mot de passe par votre mot de passe serveur . Par exemple, si vous avez une base de données et vos fichiers php sur le serveur http: // www .example.com Il est évident que vous devrez entrer sur ce site serveur en utilisant votre nom d'utilisateur et votre mot de passe.

1
Pir Fahim Shah

Une autre solution si quelqu'un obtient l’erreur Le mot de passe spécifié pour le compte utilisateur «root» n’est pas valide ou n’a pas pu se connecter au serveur de base de données également avec le mot de passe correct.

• Dans le registre Windows, supprimez la clé reg mysql_pwd sous HKCU\Software\Microsoft\WebPlatformInstaller.

• Désactivez l'ancienne version du connecteur MySQL .NET

• Téléchargez et installez le dernier MySql .NET Connector .

1
Silverstorm

Utilisez mysql -u root -p Il vous demandera un mot de passe, insérera le mot de passe et entrera.

0
Vikash Kumar

Il se peut que votre configuration soit correcte. Dans ce cas, votre pymysql pourrait être obsolète. Iran:

pip installer pymysql --upgrade

source: https://github.com/coleifer/peewee/issues/1626

0
klenki

Parfois, cela se produit simplement en raison de l’installation de Wamp ou de la modification des options de mot de passe de l’utilisateur root . On peut utiliser privilages -> root (utilisateur) puis définir l’option de mot de passe sur NO pour exécuter les tâches sans mot de passe OR définissez le mot de passe et utilisez-le dans l'application.

0
Sayyad

Editez simplement le fichier my.ini dans le chemin C:\xampp\mysql\bin. Il suffit d'ajouter:

skip-grant-tables

ligne entre les lignes de # The MySQL server [mysqld] et port=3306. Puis redémarrez le serveur MySQL. 

Ressemble à:

 Screenshot

0
Ryan Oscar

Si vous utilisez XAMPP, allez simplement à C:\xampp\phpMyAdmin puis ouvrez config.inc.php find $cfg['Servers'][$i]['password'] = '' line et entrez votre mot de passe.

0
Ajay Rawat