Доступ запрещен для пользователя root @ localhost (используется пароль: НЕТ) - PullRequest
82 голосов
/ 08 июня 2010

Я новичок в MySQL, я пытаюсь запустить WordPress на своем рабочем столе Windows, и ему нужен MySQL.

Я устанавливаю все с Web Platform Installer, предоставленным Microsoft.Я никогда не устанавливал пароль root для MySQL, и на последнем этапе установки WordPress он запрашивает пароль сервера MySQL.

Какой пароль по умолчанию для root (если он есть) и как его изменить?

Я пытался:

mysql -u root password '123'

Но он показывает мне:

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

После этого я пытаюсь:

mysql -u root -p

Однако он спрашиваетдля пароля, которого у меня нет.


Обновление : как предложил Божо, я сделал следующее:

  1. Я остановил службу MySQLиз служб Windows
  2. Открыто CMD
  3. Изменено расположение на c: \ program files \ mysql \ bin
  4. Выполнена приведенная ниже команда

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

  5. Команда была выполнена с предупреждением о наборе символов, о котором я упоминал ниже

  6. Я запускаю службу MySQL из служб Windows
  7. Я пишу в командной строке

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

  8. В командной строке отображается следующая ошибка

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

Как мне решить эту проблему?Я жду, чтобы услышать от вас.

Ответы [ 13 ]

55 голосов
/ 29 мая 2014

за этот тип ошибки; вам просто нужно установить новый пароль для пользователя root в качестве администратора. выполните следующие действия:

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  1. Остановить службу / демон mysql, работающий

    [root ~]# service mysql stop   
    mysql stop/waiting
    
  2. Запустите mysql без каких-либо привилегий, используя следующую опцию; Эта опция используется для загрузки и не использует систему привилегий MySQL.

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

В этот момент терминал, похоже, останавливается . Пусть это будет, и используйте новый терминал для следующих шагов.

  1. введите командную строку mysql

    [root ~]# mysql -u root
    mysql> 
    
  2. Исправлена ​​настройка прав пользователя 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)
    

*, если вы не хотите использовать какой-либо пароль или, скорее, пустой пароль

    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)

Подтвердите результаты:

    mysql> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
  1. Выйдите из оболочки и перезапустите mysql в обычном режиме.

    mysql> quit;
    [root ~]# kill -KILL [PID of mysqld_safe]
    [root ~]# kill -KILL [PID of mysqld]
    [root ~]# service mysql start
    
  2. Теперь вы можете успешно войти в систему как пользователь root с установленным вами паролем

     [root ~]# mysql -u root -pYourNewPassword 
     mysql> 
    
35 голосов
/ 08 июня 2010

Вы можете сбросить пароль root .Имейте в виду, что не рекомендуется использовать root без пароля.

14 голосов
/ 25 декабря 2012

1) Вы можете установить пароль root, вызвав консоль MySQL. Он расположен в

C:\wamp\bin\mysql\mysql5.1.53\bin по умолчанию.

Зайдите в каталог и наберите MySQL. затем установите пароль следующим образом.

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

2) Вы можете настроить приложение phpmyadmin wamp для пользователя root, отредактировав

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

Примечание: - если вы используете xampp, тогда файл будет находиться по адресу

C:\xampp\phpMyadmin\config.inc.php

Это выглядит так:

        $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;

Ошибка «Доступ запрещен для пользователя« root @ localhost »(с использованием пароля: НЕТ)» будет разрешено, когда вы установите $cfg['Servers'][$i]['AllowNoPassword'] в false

Если вы изначально изменили пароль для «root @ localhost», то вам нужно сделать 2 вещи, чтобы устранить ошибку «Доступ запрещен для пользователя« root @ localhost »»:

  1. если у ['password'] есть пустые кавычки, такие как '' , тогда поставьте свой пароль между кавычками.
  2. изменить (используя пароль: НЕТ) на (используя пароль: ДА)

Это устранит ошибку.

Примечание: phpmyadmin - это отдельный инструмент, который поставляется с wamp. Это просто интерфейс для MySQL. если вы измените пароль моего root sql, то вам следует изменить настройки phpmyadmin. Обычно phpmyadmin настроен для пользователя root.

9 голосов
/ 05 июля 2016

Я получал ту же ошибку на OS X El капитан. Mysql версия 5.7. Я смог подключиться к mysql с root после выполнения этих шагов.

Остановите сервер MySQL

sudo mysql.server stop

Запустить MySQL в безопасном режиме

sudo mysqld_safe --skip-grant-tables

Используя mysqld, измените базу данных на mysql и обновите данные для пользователя 'root'.

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

После этого убейте процесс mysqld_safe и запустите mysql как обычно. Вы должны иметь возможность войти в MySQL, используя root и новый пароль. Документы SQL для более подробной информации

3 голосов
/ 08 июня 2010

Убедитесь, что на вашем компьютере запущена служба MySQL, затем следуйте инструкциям MySQL для начальной настройки root (найдите «windows», и вы увидите шаги по настройке root):

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

2 голосов
/ 01 декабря 2016

для MySQL 5.7. Это следующие шаги:

Полностью остановите сервер MySQL. Это можно сделать, открыв окно Службы в Windows XP и Windows Server 2003, где вы можете остановить службу MySQL.

Откройте командную строку MS-DOS с помощью «cmd» в окне «Выполнить». В нем перейдите в папку MySQL bin, например, C: \ MySQL \ bin, используя команду cd.

Выполните следующую команду в командной строке: mysqld.exe -u root --skip-grant-tables

Оставьте текущую командную строку MS-DOS как есть и откройте новое окно командной строки MS-DOS.

Перейдите в папку MySQL bin, например, C: \ MySQL \ bin, с помощью команды cd.

Введите mysql и нажмите ввод.

Теперь у вас должна работать командная строка MySQL. Тип использования mysql; так что мы переключаемся на базу данных «mysql».

Выполните следующую команду для обновления пароля:

обновить пользовательский набор authentication_string = пароль ('1111'), где пользователь = 'root';

1 голос
/ 04 августа 2018

Если вы используете XAMPP, просто перейдите на C:\xampp\phpMyAdmin, а затем откройте config.inc.php найдите строку $cfg['Servers'][$i]['password'] = '' и введите свой пароль.

1 голос
/ 16 марта 2018

Просто отредактируйте my.ini файл в C: \ xampp \ mysql \ bin path. Просто добавьте:

skip-grant-tables

строка между строками # The MySQL server [mysqld] и port=3306. Затем перезапустите сервер MySQL.

выглядит как:

Screenshot

1 голос
/ 22 июня 2015

В вашем коде замените 'root' на ваш Сервер username и пароль на пароль вашего сервера. Например, если у вас есть БД и ваши php файлы на сервере http://www.example.com тогда, очевидно, вам нужно будет зайти на сайт этого сервера, используя ваше имя пользователя и пароль.

1 голос
/ 05 апреля 2014

Другое решение, если кто-то получает ошибку Указанный пароль для учетной записи пользователя 'root' недействителен или не удалось подключиться к серверу базы данных также с правильным паролем, это следующее

• В реестре Windows удалите ключ реестра mysql_pwd в папке HKCU \ Software \ Microsoft \ WebPlatformInstaller

• Удалить старую версию MySQL .NET-разъема

• Загрузите и установите последнюю версию MySql .NET Connector .

...