Доступ запрещен для пользователя 'root @ localhost' (используется пароль: НЕТ)

49

Я новичок в mysql, я пытаюсь запустить рабочий стол Wordpress inmy, и ему нужен Mysql.

Я устанавливаю все с помощью Web Platform Installer, который предоставляется Microsoft. Я никогда не устанавливал пароль root для mysql и на последнем этапе установки wordpressit askfor root password mysql.

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

Я пытаюсь

mysql -u root password '123'

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

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

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

mysql -u root -p

но он запрашивает пароль, который у меня отсутствует

Заранее благодарю


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

 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**)

Я жду, чтобы услышать от вас.

  • 1
    Первая команда неверна, должна быть -p или --password , но не password . Вот почему mysql отвечает ИСПОЛЬЗУЯ ПАРОЛЬ НЕТ.
  • 1
    Кажется, никто не дал ему очевидного ответа. Пароль для имени пользователя root пуст после первоначальной установки. Так что просто сделайте mysql -u root -p а затем просто нажмите Enter, т.е. оставьте пароль пустым. Затем, конечно же, введите пароль в root идентификатор пользователя.
Показать ещё 2 комментария
Теги:
mysql-error-1045

10 ответов

21
Лучший ответ

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

  • 0
    @ Божо - я следую инструкциям и создаю текстовый файл и вызываю его из упомянутой команды, после чего сталкиваюсь с 100608 [warning] --default-character-set is deprecated and will be removed in a future release. please use --character-set-server instead .-------------------------------- и, наконец, когда я запускаю MySQL Служба снова я сталкиваюсь с точной ошибкой, но на этот раз (using password:yes) что мне делать?
  • 0
    @ Bozo - Обратите внимание, что я не могу запустить вашу команду с помощью mysqldt-nt Я запускаю ее с помощью mysqldt -nt На самом деле, первая mysqldt -nt не распознается для cmd. Я жду, чтобы услышать от вас.
Показать ещё 5 комментариев
29

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

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  • Остановить службу/демон запуска mysql

    [root ~]# service mysql stop   
    mysql stop/waiting
    
  • Запустите 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> 
    
  • 2
    Нажмите Enter после «[root ~] # mysqld_safe --skip-grant-tables &» и откройте другой терминал, чтобы ввести «[root ~] # mysql -u root»
  • 0
    Я встретил эту проблему, и я сделал много, просто забудьте перезапустить службы БД ... большое спасибо!
Показать ещё 1 комментарий
12

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

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

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

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

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

C:\wamp\apps\phpmyadmin3.3.9\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

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

  • 4
    +1 за посещение ТАК в рождественский день!
  • 0
    нет, вы не можете .. mysql не запустится: c: \ wamp64 \ bin \ mysql \ mysql5.7.23 \ bin> mysql ОШИБКА 1045 (28000): доступ запрещен для пользователя 'ODBC' @ 'localhost' (с использованием пароля: НЕТ)
5

Я получал ту же ошибку в капитане 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 для более подробной информации

2

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

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

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

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

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

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

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

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

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

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

  • 0
    Спасибо !!! Это работа, как шарм ....
2

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

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

  • 0
    Это решение не будет работать для меня, потому что у меня нет пароля, который нужен во втором шаге.
  • 0
    Это то, на что я смотрел, когда отправлял ссылку, ты уверен, что это не работает? Я не вижу никакой ссылки на старый пароль. Для Windows сделайте это: shell> mysql -u root mysql> УСТАНОВИТЬ ПАРОЛЬ ДЛЯ 'root' @ 'localhost' = ПАРОЛЬ ('newpwd'); mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD ('newpwd'); mysql> SET PASSWORD FOR 'root' @ '%' = PASSWORD ('newpwd');
Показать ещё 1 комментарий
1

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

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

• Unistall более старая версия соединителя MySQL.NET

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

0

В коде замените "root" на свой сервер имя пользователя и пароль с помощью пароля сервера. Например, если у вас есть DB и ваши php файлы на сервере http://www.example.com то, очевидно, вам нужно будет войти на этот серверный сайт, используя свое имя пользователя и пароль.

0

Несколько раз это просто происходит из-за установки Wamp или изменения параметров пароля пользователя root. Можно использовать privilages → root (user), а затем установить опцию пароля NO, чтобы запускать вещи без пароля или установить пароль и использовать его в приложении.

-2
mysqladmin -u root -p password

введите current password

то

введите new password

  • 1
    Все дело в том, что ОП не знает текущий пароль, потому что он никогда не был установлен .
  • 0
    Я знал свой пароль, но у меня была проблема с логином с временным паролем. этот ответ сработал для меня

Ещё вопросы

Сообщество Overcoder
Наверх
Меню