Я новичок в 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
Пожалуйста, дайте мне знать, что здесь не так.
Потеряв большую часть дня по этой проблеме, выяснилось, что все, что мне нужно было сделать, – это предоставить имя хоста non-localhost. Я понятия не имею, почему (пользователю разрешено подключаться с любого хоста), но он работает!
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.
Никто здесь не упомянул об этом (по тем или иным причинам), хозяин, назначенный вашему пользователю, может ошибаться. Когда он говорит root@localhost
это означает root
пользователя с хостом localhost
.
На некоторых серверах root
по умолчанию может отсутствовать на localhost
. Попробуйте эти:
root@127.0.0.1
root@[yourhostname]
Проверьте пароль, который вы набрали здесь.
Такие ошибки возникают, когда пароль не совпадает с исходным паролем.
убедитесь, что вы назначили пароль для mysql
Для сброса пароля youre зайдите на эту страницу http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
Удостоверьтесь, что пароль правильный (блокировка крышки?) И, возможно, использует необработанный IP-адрес, т.е. 127.0.0.1
Может возникнуть проблема с MySQL-сервером и портом, на котором он запущен. Значение по умолчанию – 3306. Если это не сработает, измените порт в my.ini
(- независимо от имени файла mysql-ini), а также измените ссылку на порт в config.inc.php
в папке phpmyadmin.
Итак, ошибка, объясняемая здесь (Гнанендра)
Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: YES) Ошибка MySQL #: 1045
может быть задан, потому что MySQL-сервер запущен неправильно.
Также проверьте это сообщение для получения дополнительной информации по этой проблеме:
Не удается запустить сервер: привязка к порту TCP / IP: нет такого файла или каталога