доступ запрещен для пользователя 'root' @ localhost mysql error 1045 - PullRequest
4 голосов
/ 05 апреля 2011

Я новичок в PHP. Я получаю следующую ошибку при выполнении моего приложения:

В phpMyadmin код выглядит так

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

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

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'Pass123';
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

Теперь я получаю следующую ошибку

Доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: YES) Ошибка MySQL #: 1045

Пожалуйста, дайте мне знать, что здесь пошло не так.

Ответы [ 7 ]

3 голосов
/ 26 марта 2013

Потратив большую часть дня на эту проблему, оказалось, что все, что мне нужно было сделать, это указать имя хоста, не являющееся локальным.Я понятия не имею, почему (пользователю разрешено подключаться с любого хоста), но это работает!

root@base:~# mysql -u username -h hostname -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.

А в PHP:

Test 1807:
<?php
$username = "username";
$password = "password";
$hostname = "actualhostnamenotlocalhost"; 

$con = mysqli_connect($hostname, $username, $password);

// Check connection
if (mysqli_connect_errno($con)){
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_close($con);    

?>
OK.
1 голос
/ 15 сентября 2012

Никто здесь не упомянул, что (по той или иной причине) хост, назначенный вашему пользователю, может быть неправильным. Когда он говорит root@localhost, это означает, что пользователь root с хостом localhost.

На некоторых серверах по умолчанию root может быть не включено localhost. Попробуйте это:

root@127.0.0.1

root@[yourhostname]

0 голосов
/ 15 сентября 2012

Убедитесь, что пароль правильный (caps lock?) И, возможно, используйте необработанный IP-адрес, т.е. 127.0.0.1

0 голосов
/ 15 сентября 2012

Может быть проблема с MySQL-сервером и портом, на котором он запущен.По умолчанию - 3306. Если это не работает, измените порт в my.ini (или независимо от имени файла mysql-ini) И также измените ссылку на порт в config.inc.php в папке phpmyadmin.

Итак, ошибка, которая объясняется здесь (Gnanendra)

Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: ДА) Ошибка MySQL #: 1045

может быть задано, потому что MySQL-сервер работает неправильно.

Также проверьте этот пост для получения дополнительной информации по этой проблеме:

Не удается запустить сервер: привязка к порту TCP / IP: нет такого файла или каталога

0 голосов
/ 06 апреля 2011

Для сброса пароля, пожалуйста, загляните на эту страницу http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

0 голосов
/ 05 апреля 2011

убедитесь, что вы присвоили пароль для mysql

0 голосов
/ 05 апреля 2011

Пожалуйста, проверьте пароль, который вы ввели здесь.

Такие ошибки появляются, когда ваш пароль не совпадает с исходным паролем.

...