Access denied for user 'root '@'localhost' (using password: YES)
Да, эта ошибка слишком распространена, и я потратил много времени на ее изучение. Однако ничто не решило проблему.
Я получаю эту ошибку при попытке первого подключения в одном из моих PHP-скриптов, которые я разрабатываю. Если это помогает узнать, я запускаю Linux Mint с конфигурацией LAMP, установленной на http://community.linuxmint.com/tutorial/view/486 .
Дело в том, что любое другое приложение работает с подключением. Оба входа в PhpMyAdmin в качестве пользователя root или mysql на консоли, как root работают отлично. Сам сайт MySQL говорит, что это, вероятно, проблема с моим кодом, но я еще не понял этого … Я немного новичок в этом, поэтому, пожалуйста, простите меня, если это очень опасная ошибка.
Я использую внешнюю функцию на другой странице (импортированной с помощью require_once). Это плохая практика? Независимо от того, вот это:
global $sql_conn, $sql_addr, $sql_user, $sql_pass, $sql_datb; $config=app_readconfig(); echo "<p>".$sql_addr." ".$sql_user." ".$sql_pass." ".$sql_datb."</p>";//DEBUG, shows values are read if($config==FALSE) { echo "<p>Error: Missing values in darkace_config.txt!</p>"; return FALSE; } $sql_conn=mysql_connect($sql_addr,$sql_user,$sql_pass); if(!$sql_conn) { echo "<p>MYSQL Error: ".mysql_error()."</p>"; return FALSE; } if(!mysql_select_db($sql_datb,$sql_conn)) { echo "<p>MYSQL Error selecting database: ".mysql_error()."</p>"; return FALSE; } return TRUE;
Эта функция вызывается, и я возвращаю сообщение: Ошибка MYSQL: доступ запрещен для пользователя «root» @ «localhost» (с использованием пароля: YES)
У вас есть «root [SPACE]» в качестве имени пользователя. Попробуйте «root» без пробела?
Что-то не так с вашими учетными данными .
Проверьте:
Кроме того, прекратите использование функций mysql_*
поскольку они теперь устарели . Вместо этого используйте MySQLi или PDO .
Ваше соединение должно быть таким
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
не включайте http, добавьте номер порта в пример, проверьте имя пользователя и пароль.
Если вы будете раздражать вас, но каждый раз, когда вы используете функцию mysql_ *, вы получите рекомендацию PDO. Я также рекомендую PDO, PHP также рекомментирует PDO, вы можете проверить документацию PHP для mysql_connect