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

Я новичок в mysql, я пытаюсь запустить Wordpress в моем рабочем столе windows, и ему нужен 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 filesmysqlbin
 4 - write this command

 mysqld --defaults-file="C:program filesmysqlmysql server 5.1my.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**)

Я жду от вас Вестей.

12 ответов


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


для такого рода ошибок; вам просто нужно установить новый пароль для пользователя 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> 
    

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 

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

        $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. если вы измените пароль моего SQL root, то вы должны изменить конфигурации phpmyadmin. Обычно phpmyadmin настроен для пользователя root.


я получал ту же ошибку на OS X El captain. 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 docs для получения дополнительной информации


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

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


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

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

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

выполните следующую команду в командной строке: mysqld.exe-u root -- пропустить-грант-таблицы

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

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

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

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

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

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


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

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

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

•Загрузите и установите последнюю версию в MySQL .Чистая Разъем.


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


несколько раз это просто происходит из-за установки Wamp или изменения параметров пароля пользователя root. Можно использовать privilages-->root (user), а затем установить параметр пароля нет для запуска вещей без пароля или Установить пароль и использовать его в приложении.


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

skip-grant-tables

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

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

Screenshot


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


mysqladmin -u root -p password

введите current password

затем

введите new password