Не удается подключиться к mysql 5.0.8 с помощью mysql_connect с паролем

Я могу подключиться к mysql db, используя php без штрафа пароля. Однако, когда я добавляю пароль в phpmyadmin, я больше не могу подключаться. Я последовательно получаю ошибку:

"Could not connect: Access denied for user 'admin'@'localhost' (using password: YES)"

Я попытался использовать оба параметра MySQL password 4.0 и 4.1+ с теми же результатами.

mysql_connect ("127.0.0.1", "admin", "password") or die('Could not connect: ' . mysql_error());;
mysql_select_db ("datatable");

Есть ли у кого-нибудь представление о том, что может происходить здесь?

EDIT: я могу получить к нему доступ, если отключу пароль. Кажется, есть некоторые недоразумения

4 ответа

Это может помочь

шаги -

  • перейти на phpmyadmin;
  • щелкните по базе данных, в которую вы хотите изменить pw (слева),
  • нажмите "привилегии"; ​​
  • щелкните значок "права прав доступа" справа от пользователя root для локального хоста.
  • перейдите в блок "сменить пароль";
  • отметьте переключатель "пароль";
  • введите пароль и повторно введите этот пароль;
  • tick:... сохранить старый.
  • нажмите "пойти";
  • теперь откройте консоль MySql из меню WAMPSERVER;
  • он попросит вас о pw - просто нажмите на возврат, так как у вас его еще нет (в следующий раз, когда вы войдете на консоль, вам нужно будет ввести новый pw, который вы здесь вводите), введите следующее:

    UPDATE mysql.user SET Password = PASSWORD ( "xxxxxx" ) WHERE User = "root"; (где xxxxxx - пароль, введенный вами на предыдущем шаге).

  • Теперь введите: ПРИВИЛЕГИИ FLUSH;

  • перейдите в папку WAMP или MAMP, найдите папку APPS и нажмите на папку PHPMYADMIN (например, мою папку с именем phpmyadmin2.11.6) и найдите файл config.inc.php

  • откройте config.inc.php со словом и найдите следующий текст:

$cfg['Servers'][$i]['password'] = '';

теперь добавьте пароль, который вы использовали в шаге 3 следующим образом:

$cfg['Servers'][$i]['password'] = 'yourPasswordHere';

  • теперь сохраните эту модификацию и закройте файл config.inc.php

Теперь вы должны быть настроены!

Источник - http://www.knowledgesutra.com/discuss/tsilti-php-myadmin-access-mysql-database.html


В соответствии с инструкцией mysql_connect, которую вы показываете, вы пытаетесь подключиться как admin@'127.0.0.1'. Это требует использования TCP/IP для подключения к mysql. Если вы подключаетесь как admin@localhost, для подключения к mysqld используется mysql.sock(файл сокета).

Вы должны запустить этот запрос

SELECT user,host,password FROM mysql.user WHERE user='admin';

Вы должны увидеть admin@localhost. Вероятно, вы не увидите admin@'127.0.0.1'. Вы можете добавить его, но проще всего закодировать для admin@localhost.

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

mysql_connect ("localhost", "admin", "password") or die('Could not connect: ' . mysql_error());;
mysql_select_db ("datatable");

Если вы можете подключиться к mysql без пароля, то ваша установка mysql небезопасна.

Вам нужно добавить пароль admin @localhost и удалить анонимные логины пользователя следующим образом:

UPDATE mysql.user SET password=password('whateverpassword')
where user='admin' and host='localhost';
DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES;

Вот еще одно предложение: Создайте пользователя admin@127.0.0.1 следующим образом:

GRANT ALL PRIVILEGES ON *.* TO admin@'127.0.0.1' IDENTIFIED BY 'whateverpassword';

и попробуйте свой исходный код


Если вы изменяете данные пользователя MySQL через phpMyAdmin, вы ДОЛЖНЫ выполнить

FLUSH PRIVILEGES

чтобы применить новые правила.


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

licensed under cc by-sa 3.0 with attribution.