Php access denied for user ошибка

I’ve tried to search for an existing answer to this problem, but the answers I find have not worked thus far.

I’ve been attempting to use PHP to connect to a MySql database. My web host uses cPanel on Linux. The code I’m using to do this seems standard enough:

$mysqli = new mysqli("localhost", "cPanelUsername_dbUsername", "dbPassword", "cPanelUsername_dbName");

I’ve been getting the following error:

Failed to connect to MySQL: (1045) Access denied for user 'cPanelUsername_dbUsername'@'localhost' (using password: YES)Access denied for user 'cPanelUsername'@'localhost' (using password: NO) 
  • «localhost» is the host server where the MySql server is located (it seems like this works)
  • «cPanelUsername» is my cpanel username
  • «dbUsername» is the database user, which I added to the database with all permissions granted
  • «dbPassword» is the database password for dbUsername
  • «dbName» is the database name

I ended up adding my cPanel username before the dbName and dbUsername after searching for answers to this issue elsewhere.

It looks like I have everything set up correctly but it’s not connecting (with the error above). I don’t have any direct control over the server that I wouldn’t have to ask my web host about, which may take a few days to get sorted out. Do I have something wrong with my connection code?

Стандарт / от Автора / 18.06.2022 / 2 комментария /

3 способа РЕШЕНИЯ по исправлению ошибки mysqli real connect (): (HY000/1045): Access denied for user ‘username’@’localhost’ на сервере Centos 7 и VestaCP

Ошибка mysqli real connect (): (HY000/1045): Access denied for user ‘username’@’localhost’ очень часто возникает при обновлении версии PHP на веб сервере или самой базы данных,  особенно при использовании панели управления VestaCP.

Содержание:

Введение — ошибка mysql 1045

1 способ устранения ошибки mysql 1045

2 способ устранения ошибки mysql 1045

3 способ устранения ошибки mysql 1045

Заключение по устранению ошибки mysql 1045

Введение — ошибка mysql 1045

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

Итак:

При создании пользователя базы данных MySQL учитывается 3 параметра, а не два. Первый параметр это username, имя пользователя базы данных, второй параметр, это имя хоста, под именем хоста подразумевается разрешение входа в базу, или с определенного IP адреса, или с определенного домена, или с любой машины кроме локальной, или только с локальной машины. Под локальной машиной подразумевается Ваш сервер, где расположена сама база данных и панель phpmyadmin.

Поясняю:

  • Пользователь например, root@localhost имеет имя root, свой пароль и право входить только с локальной машины, то есть с Вашего сервера через командную строку или панель управления.
  • Пользователь например, root@’мой домашний ip’ имеет имя root, свой пароль и право входить только с домашнего компьютера.
  • Пользователь например, root@’%’ имеет имя root, свой пароль и право входить с любого компьютера, кроме локального, то есть Вашей панели управления веб сервером.

Знак ‘%’ в одинарных кавычках указывает именно на право входить в базу с любого компьютера, кроме локальной машины.

Пользователей с именем root может быть два, три и более. Все эти пользователи будут иметь разные пароли и разные разрешения на вход с определенных хостов.

Ошибка mysqli-real-connect-hy000-1045

Ошибка mysqli-real-connect-hy000-1045

1 способ устранения ошибки mysql 1045

Ошибка 1045

ERROR 1045 (28000): Access denied for user ‘ root’@’localhost’ (using password: YES)

Самая распространенная и банальная ошибка это неправильная пара логина и пароля для входа в БД. Грубо говоря, Вы можете пытаться входить под пользователем root@’%’, вводя правильный никнейм и пароль через установленную на сервере панель  phpmyadmin. Но данный пользователь имеет право заходить с любого компьютера, кроме локальной машины. А панель phpmyadmin как раз является локальной машиной. Таким образом Вы будите получать данную ошибку.

Решение:

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

Вам необходимо войти в MySQL через терминал в командной строке. Лично я использую программу putty, как и 99% администраторов веб сервера. Для того, чтобы попасть в БД, необходимо предварительно отредактировать конфигурационный файл под названием my.cnf. В операционной системе Centos 7 он находится /etc/my.cnf. Скачайте данный файл с сервера и вставьте в него после  такую строку: skip-grant-tables, должно получится примерно так:


[mysqld]
skip-grant-tables
другие параметры

Залейте файл с новыми параметрами на сервер, предварительно удалив старый, а лучше просто переименуйте старый файл. Перезапустите сервер БД через Вашу панель управления.

После редактирования выше указанного файла попасть в MySQL можно без пароля со всеми привилегиями.

Теперь откройте терминал и войдите под пользователем root без пароля, введя команду:


sudo mysql -u root

Далее введите команду:


SELECT user,host,password FROM mysql.user;
Если все сделали правильно, то будет показано вот такое окно:

Вход в базу данных без пароля

Вход в БД под root без пароля

Из таблицы видно, что пользователя root вообще НЕ существует, однако после правки выше указанного конфига, я без труда вошел под root и без пароля. Так же видно из таблицы, что присутствуют 2 пользователя — admin с паролями и доступом с локальной машины (непосредственно с сервера через панель phpmyadmin) и с любого домашнего компьютера через терминал.

Этих пользователей я создавал сам и пароли от них я знаю. Исходя из полученной информации, я могу без труда войти в панель phpmyadmin. И создать любого необходимого пользователя с любыми привилегиями (правами).

Пользователь root отсутствует по причине удаления. Я его просто удалил для написания данной статьи. У вас он скорей всего присутствует и таблица будет гораздо шире. Это просто мой тестовый сервер для экспериментов.

Давайте посмотрим еще один пример с другого сервера.

Вход в MariaDB без пароля

Список пользователей БД

По root у Вас будет примерно такая же картина. То есть один root имеет право войти в панель phpmyadmin с паролем. Один root имеет право на вход через терминал без пароля и т. д. Пароли в БД хранятся в зашифрованном виде.

Получив данную информацию, Вы сможете разобраться с доступами, найти необходимый пароль и войти в панель phpmyadmin.

НО увы, так бывает НЕ всегда!

2 способ устранения ошибки mysql 1045

Как уже писалось в начале статьи данная ошибка возникает после обновления ПО на сервере. И зачастую в панель phpmyadmin просто НЕ попасть. Если из первого раздела Вам не удалось разобраться с пользователями и паролями, то проще всего создать нового пользователя с правами администратора и войти в панель.

Выполнить это можно через терминал. Войдите на сервер через терминал с правами администратора и проверьте есть ли доступ без пароля. Как правило на сервере создается один пользователь root со входом без пароля из терминала.  Введите команду:


sudo mysql -u root

Если на сервер баз данных попасть не удалось, то отредактируйте файл (my.cnf), как рассказано в первом способе и повторите команду:


sudo mysql -u root

Теперь, когда в БД удалось попасть через терминал, необходимо создать нового пользователя с паролем и правами админа. Команда:


CREATE USER 'root'@'localhost' IDENTIFIED BY 'ЗДЕСЬ ПАРОЛЬ';

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


GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

После создания нового пользователя, как правило, можно под ним зайти в панель phpmyadmin. Это может быть совсем не обязательно пользователь root, а любой другой. Запомните имя пользователя и пароль, где то запишите себе. Лучше НЕ использовать root при создании нового пользователя.

Внимание!!! Не забудьте обратно отредактировать файл my.cnf, то есть удалить строку — skip-grant-tables.

3 способ устранения ошибки mysql 1045

Пожалуй, самый сложный способ, попытаюсь объяснить простым языком. Дело в том, что root пользователь создается по умолчанию. И если Вы начинаете играться с этим пользователем (root), то Вы нарушите пару логин — пароль. Так как пароль для этого пользователя создается и хранится в нескольких файлах на сервере.

Давайте поставим точку, рассмотрим все эти файлы и при необходимости зададим один пароль к данному юзеру.

Итак,

Файлов к счастью у нас не много, точнее три места которые необходимо проверить и поправить при необходимости.

  • Первое, открываем файл config.inc.php в Centos 7 находится /etc/phpmyadmin/config.inc.php В самый конец этого файла добавьте следующие строки кода:


/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = ' root';
$cfg['Servers'][$i]['controlpass'] = 'ЗДЕСЬ ПАРОЛЬ';

  • Второе, в файле /usr/local/vesta/conf/mysql.conf. Я использую панель управления VestaCP, если у Вас другая панель, то расположение файла будет отличатся. Откройте данный файл и посмотрите какой там указан пароль, если нужно, то смените на Ваш.
  • Третье, это непосредственно сама панель управления phpmyadmin.

Во всех трех местах, должны быть одинаковые пароли от этого юзера. Если не так, то исправляйте. В VestaCP при неправильных паролях в этих файлах может отвалится бэкап.

Заключение по устранению ошибки mysql 1045

Ошибка mysqli real connect 1045, как правило появляется при неправильной паре имя — пароль или после обновления ПО на сервере. Устраняется путем проверки пользователей через терминал и создания новых пользователей. В случаи не корректного пароля от root редактируются необходимые файлы.

P. S.

Я отлавливал все 3 причины сбоя панели управления phpmyadmin и данную статью публикую больше для себя как памятку по устранению неполадок. Но надеюсь Вам она тоже поможет. Оставляйте комментарии по решению данной проблемы.

Думаю, что теперь Вам не страшна ошибка mysqli_connect(): (HY000/1045): Access denied for user ‘username’@’localhost’.

Учебные материалы

Понравился материал? Подписывайтесь на наш блог. И получите бесплатный конструктор лендингов!

Только полезная информация и реальные кейсы

Ни в коем случае не надо совершать ни одно из телодвижений, предложенных Rsa97
Режим выброса исключений специально сделан, чтобы не писали этот говнокод из прошлого века.
Если в коде написано if($mysqli->connect_errno) {, это означает что никакой нормальной обработки ошибок там всё равно не было. И надо просто убрать этот бесполезный мусор. Поскольку вариант с исключением в сто раз информативнее и удобнее для обработки.
И у запросов тоже, кстати, надо поубирать всю тупизну с if($mysqli->error) или, того хуже, or die()

Если же интересует, как в принципе обрабатывать ошибки в РНР, то это другой вопрос.
Для локальной системы ничего менять не надо. Для боевой — включить логирование ошибок, выключить показ в браузер и в случае ошибки выводить стандартную страницу о временной недоступности сайта.

Тот редкий случай, когда действительно требуется именно обработка ошибки соединения, а не «die(‘что-то пошло не так’)» мы здесь не рассматриваем, поскольку к моменту, когда программисту такое может понадобиться, он уже владеет базовыми приемами программирования и вполне разберётся сам.

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

1 2013-04-10 16:44:18

  • ladygp
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2013-04-10
  • Сообщений: 9

Тема: нет соединения с БД. Ошибка Access denied for user

Добрый день всем! Помогите разобраться новичку!Пытаюсь реализовать скрипт, который называется verificare.php, для проверки доступа, а также проверки имен пользователей и паролей, вводимых клиентами на сайте. При вводе логина и пароля единственного клиента (заранее заведенного мной в базу данных) выскакивает ошибкаWarning: mysql_connect() [function.mysql-connect]: Access denied for user ‘popescu’@’localhost’ (using password: YES) in Z:homelocalhostwwwUROK12verificare.php on line 7нет соединенияСам скрипт представлен ниже. Что в нем может не так? Почему нет соединения? Пробовала зайти как root (без пароля). У меня стоит Денвер, MySQL5.5.25 phpMyAdmin 3.5.1. Может нужно было еще что-то настраивать в MySQL и phpMyAdmin? После установки Денвера и проверки его работоспособности, просто зашла http://localhost/Tools/phpMyAdmin — у меня сразу все открылось без логина и пароля, я создала БД, создала таблицу с пользователем и все..Потом узнала, что нужно было заходить во вкладку Привелегии и что-то настраивать. Но у меня просто нет этой вкладки!!! Может в этом все дело? Вобщем одни сплошные вопросы…Плиз, хелп!<?php$host=

2 Ответ от Hanut 2013-04-10 21:18:00

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,726

Re: нет соединения с БД. Ошибка Access denied for user

Если у вас нет в phpMyAdmin страницы привилегий — значит вы зашли не под root, либо данный пользователь не имеет привилегий для изменения привилегий пользователей.

Ошибка Access denied for user ‘popescu’@’localhost’ (using password: YES) буквально означает, что пользователю popescu на хосте localhost с указанным паролем доступ запрещен.

К сожалению скрипт обрезало.

3 Ответ от ladygp 2013-04-11 21:12:48

  • ladygp
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2013-04-10
  • Сообщений: 9

Re: нет соединения с БД. Ошибка Access denied for user

Вот скрипт:

<?php
$host=»localhost»;
$username=»popescu»;
$password=»12popescu»;
$db_name=»clienti»;
$tbl_name=»clienti»;
mysql_connect(«$host»,»$username»,»$password»)or die(«нет соединения»);
mysql_select_db(«$db_name»)or die («cannot select BD»);
$имя=$_POST[‘имя’];
$пароль=$_POST [‘пароль’];
$имя=stripslashes($имя);
$пароль=stripslashes($пароль);
$имя=mysql_real_escape_string ($имя);
$пароль=mysql_real_escape_string ($пароль);
$sql=»SELECT*FROM $tbl_name WHERE username=’$имя’ and password =’$пароль'»;
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register(«имя»);
session_register(«пароль»);
header(«location:прайс_лист.php»);
}
else{
echo «Имя пользователя или пароль ошибочны.»;
}
?>

4 Ответ от ladygp 2013-04-11 21:15:37

  • ladygp
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2013-04-10
  • Сообщений: 9

Re: нет соединения с БД. Ошибка Access denied for user

Окна авторизации вообще не было, когда я заходила в phpmyadmin. Но тем не менее справа, где указаны версии phpmyadmin и mysql четко стоит пользователь root…

5 Ответ от Hanut 2013-04-11 21:45:21

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,726

Re: нет соединения с БД. Ошибка Access denied for user

Попробуйте прописать пользователя root с пустым паролем — это значение по умолчанию для Денвера.

6 Ответ от ladygp 2013-04-11 23:31:27

  • ladygp
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2013-04-10
  • Сообщений: 9

Re: нет соединения с БД. Ошибка Access denied for user

спасибо, но уже так делала.Не помогло. Как сделать, чтобы появилась вкладка «Привилегии»? Я думаю, что дело в этих настройках

7 Ответ от Hanut 2013-04-12 08:28:27

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,726

Re: нет соединения с БД. Ошибка Access denied for user

ladygp сказал:

Как сделать, чтобы появилась вкладка «Привилегии»?

У пользователя root должны быть полные привилегии, если их нет — значит они были изменены. Как восстановить пользователя root с полными правами указано здесь: http://forum.php-myadmin.ru/viewtopic.p … 807#p16807

8 Ответ от ladygp 2013-04-12 15:32:22

  • ladygp
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2013-04-10
  • Сообщений: 9

Re: нет соединения с БД. Ошибка Access denied for user

Прошла по указанной вами ссылке, сделала все что надо, и после того как прописала ваш текст в командной строке и нажала enter появилось окошко с сообщением: «не удалось открыть файл mysqld.exe, выбрать программу для открытия или поиск программы в интернете….» Что я сделала не так?
В командной строке у меня написано так:
C:UsersГалчонок>»C:WebServersusrlocalmysql-5.5binmysqld.exe»—defaults-file=»C:WebServersusrlocalmysql-5.5my.ini—init-file=C:mysql-init.txt

Фразу UsersГалчонок> я удалить не могу, может в ней дело?

9 Ответ от ladygp 2013-04-12 17:14:00

  • ladygp
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2013-04-10
  • Сообщений: 9

Re: нет соединения с БД. Ошибка Access denied for user

еще у меня появилась вкладка привелегии, после того, как я со страницы Денвера «Ура!Заработало» создала тестовую БД (смотрела ваш ролик). Поигралась с привелегиями для Popescu — даже ставила для него Все привелегии — ничего не помогло! Меняю привелегии — меняются ошибки! Короче ну очень нужна помощь, а то что-то я надолго застопорилась в этом моменте и дальше не могу продолжить свое обучение.

10 Ответ от Hanut 2013-04-12 22:35:43

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,726

Re: нет соединения с БД. Ошибка Access denied for user

ladygp сказал:

не удалось открыть файл mysqld.exe

Значит этого файла нет. Где он в Денвере я сказать не могу.

ladygp сказал:

еще у меня появилась вкладка привелегии, после того, как я со страницы Денвера «Ура!Заработало» создала тестовую БД (смотрела ваш ролик).

Значит root заработал?

Нашего ролика вы смотреть не могли — его не существует.

Уточните вопрос. Я уже не знаю на что отвечать.

11 Ответ от ladygp 2013-04-13 16:45:34

  • ladygp
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2013-04-10
  • Сообщений: 9

Re: нет соединения с БД. Ошибка Access denied for user

root у меня всегда работал, я не могу соединиться с базой данных под логином и паролем одного из созданных мною пользователей. У меня учебный проект и мне нужно проверить может ли клиент, заходящий на сайт и вводящий свой логин и пароль попасть на свою личную страницу. При вводе в форме авторизации логина popescu  и пароля 12popescu  выскакивает ошибка Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘popescu’@’localhost’ (using password: YES) in Z:homelocalhostwwwUROK12verificare.php on line 7нет соединения. И что бы я не меняла в привилегиях этого пользователя popescu — доступ к базе под его логином и паролем запрещен. Что с этим делать?

12 Ответ от Hanut 2013-04-13 21:19:02

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,726

Re: нет соединения с БД. Ошибка Access denied for user

ladygp сказал:

доступ к базе под его логином и паролем запрещен. Что с этим делать?

Проверить привилегии этого пользователя. В phpMyAdmin можно установить привилегии уровня базы данных или уровня таблиц, так же можно выдать пользователю полные привилегии. Скрипт не может соединиться под пользователем, потому что привилегии заданы не верно.

13 Ответ от ladygp 2013-04-15 15:39:02

  • ladygp
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2013-04-10
  • Сообщений: 9

Re: нет соединения с БД. Ошибка Access denied for user

Я установила привилегии пользователю уровня базы данных и уровня таблиц, теперь выскакивает кораздо больше ошибок:
Deprecated: Function session_register() is deprecated in Z:homelocalhostwwwUROK12verificare.php on line 19

Warning: session_register() [function.session-register]: Cannot send session cookie — headers already sent by (output started at Z:homelocalhostwwwUROK12verificare.php:19) in Z:homelocalhostwwwUROK12verificare.php on line 19

Warning: session_register() [function.session-register]: Cannot send session cache limiter — headers already sent (output started at Z:homelocalhostwwwUROK12verificare.php:19) in Z:homelocalhostwwwUROK12verificare.php on line 19

Deprecated: Function session_register() is deprecated in Z:homelocalhostwwwUROK12verificare.php on line 20

Warning: Cannot modify header information — headers already sent by (output started at Z:homelocalhostwwwUROK12verificare.php:19) in Z:homelocalhostwwwUROK12verificare.php on line 21

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

14 Ответ от Hanut 2013-04-15 22:16:30

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,726

Re: нет соединения с БД. Ошибка Access denied for user

ladygp сказал:

Cannot send session cookie — headers already sent

Это означает, что заголовки уже отосланы выше по коду и нельзя использовать функцию для отправки сессии или установки кукисов. Ошибка в коде. Смотрите указанные в ошибке строки и код выше данных строк.

15 Ответ от ladygp 2013-04-17 15:21:58

  • ladygp
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2013-04-10
  • Сообщений: 9

Re: нет соединения с БД. Ошибка Access denied for user

я все делала по учебнику. Какая может быть ошибка в коде? Код я писала выше. Посмотрите, пожалуйста!Может где какие кавычки неправильные?

16 Ответ от Hanut 2013-04-17 16:45:40

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,726

Re: нет соединения с БД. Ошибка Access denied for user

ladygp сказал:

Какая может быть ошибка в коде?

19 строка, session_register(), перед данной функцией есть вывод, заголовки уже отправлены. Где именно был вывод — я не знаю. Возможно данный файл подключается в другом файле, где уже был вывод.

17 Ответ от Djoint 2014-07-04 14:46:19 (изменено: Djoint, 2014-07-04 14:53:50)

  • Djoint
  • Новичок
  • Неактивен
  • Зарегистрирован: 2014-07-04
  • Сообщений: 1

Re: нет соединения с БД. Ошибка Access denied for user

Здравствуйте! Я прочитал все что написано в интернете по данной проблеме и ни чего путного не нашел у всех начинается с того что не грузиться страница а заканчивается тем что всего лишь на всего надо было прописать логин и пароль в файле config.
У меня же несколько иная ситуация. Сам сайт грузиться (полностью работает), но в самом низу страницы вылезла вот такая вот надпись (Warning: mysql_connect(): Access denied for user ‘tzbaseuser’@’localhost’ (using password: YES) in /var/www/admins/data/www/prsape.jasonnevins.ru/mysql_config.php on line 10 MySQL сервер недоступен!
Access denied for user ‘tzbaseuser’@’localhost’ (using password: YES)).
В связи с чем у меня недоумение, с чем это может быть связано т.к. в файле config  все ровно все прописано, и самое то главное эта надпись появилась спонтанно до этого сколько времени работал все было нормально. (бытует мнение, что это вирус, что он якобы меняет логин и пароль и что следует сделать резервную копию сайта и базы данных, но возникла другая проблема те данные которые я ранее использовал для входа через filezila теперь им просто на просто не принимаются).

Огромная просьба профессионалов подсказать как можно устранить данную проблему и в чем может может быть дело , в случае успешной консультации мне не жалко будет поделиться $))))))
сайт sakhaseliger.com

18 Ответ от Hanut 2014-07-04 21:42:51

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,726

Re: нет соединения с БД. Ошибка Access denied for user

Djoint сказал:

с чем это может быть связано т.к. в файле config  все ровно все прописано

Djoint сказал:

те данные которые я ранее использовал для входа через filezila теперь им просто на просто не принимаются

И как вы узнали, что в конфигурационном файле все в порядке, если не можете его просмотреть по FTP? Ошибка говорит о причине проблемы и где ее искать.

19 Ответ от rive 2016-02-28 20:07:20 (изменено: rive, 2016-02-28 20:51:50)

  • rive
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2016-02-25
  • Сообщений: 3

Re: нет соединения с БД. Ошибка Access denied for user

Прошу помочь разобраться

Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘user2000’@’localhost’ (using password: YES) in C:apachelocalhostwww123index3.php on line 8
Ошибка соединения: Access denied for user ‘user2000’@’localhost’ (using password: YES)

<?php
$link = mysql_connect('localhost', 'user2000', 'hjk');  //8-ая строка
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединение!<br/>';

mysql_select_db('test', $link);

$result=mysql_query('select a,b from table1');

for($j=0; $j<3; $j++){
for($i=0; $i<2; $i++){
echo mysql_result($result, $j, $i);
echo "t";
}
echo '<br/>';
}

mysql_close($link);
?>

apache2 http://dfiles.ru/files/a056c0ym9
php http://dfiles.ru/files/3fp93x0gr
my.ini http://dfiles.ru/files/r1cziyacn
db_sql http://dfiles.ru/files/lpbznjiuw  root-root

у пользователя user2000 все привилегии как у root

http://s017.radikal.ru/i404/1602/0a/2bab0c1a5527.jpg

если user2000 заменить на рут все работает но с любым другим созданным пользователем появляется ошибка

Решил снял привилегию GRANT_priv все заработало )

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

  • Главная

    Список форумов

    Ошибки Open Server

  • Поиск

    • Текущее время: 09 июн 2023, 04:49
    • Часовой пояс: UTC+03:00

angara

Сообщения: 1
Зарегистрирован: 10 апр 2021, 13:08

Ошибка Access denied for user ‘root’@’localhost’ (using password: YES) при входе в среду MySQL

Установлен — Open Server Panel 5.3.8 краткая версия, все установилось нормально. Запустили.

При выборе пункта меню Дополнительно — PHPAdminer —
Введены для MySQL :

имя пользователя: root
пароль: root
выдается ошибка: Access denied for user ‘root’@’localhost’ (using password: YES)

если ввести:

имя пользователя: root
пароль: не вводить или admin
выдается ошибка: Access denied for user ‘root’@’localhost’ (using password: NO)

Изменились входные данные или неправильно вводим?
Подскажите, пожалуйста, какие данные ввести, чтобы выполнить вход в среду MySQL?

Аватара пользователя

Максим

Сообщения: 6005
Зарегистрирован: 11 дек 2010, 20:29

Re: Ошибка Access denied for user ‘root’@’localhost’ (using password: YES) при входе в среду MySQL

Непрочитанное сообщение

Максим » 11 апр 2021, 15:44

Если вы используете оригинальную версию OSP сразу после установки и у вас авторизация выходит неудачной именно с такой ошибкой, то видимо вы запустили сервер на внешнем или внутрисетевом ip адресе, в то время как подключение к MySQL / MariaDB по умолчанию разрешено только с адреса 127.0.0.1. Т.е. вам, перед тем как запускать сервер на внешнем ip, нужно выполнить настройку прав доступа MySQL / MariaDB.

Если ip не трогали и он у вас установлен по умолчанию (127.0.0.1), значит вы используете недефолтные базы, т.е. что-то там копировали, переносили и т.д., т.е. теперь у вас там свои пользователи со своими данными для авторизации (те, которые были в ваших базах до этого).

Так же возможен вариант, что в настройках программы вы вообще не включали MySQL / MariaDB и при этом у вас в системе есть свой установленный сервер MySQL или MariaDB, в этом случае Adminer пытается подключиться к вашему серверу и данные для подключения к нему можете знать только вы сами.

Аватара пользователя

Максим

Сообщения: 6005
Зарегистрирован: 11 дек 2010, 20:29

Redel

Сообщения: 8
Зарегистрирован: 21 фев 2018, 04:59

Redel

Сообщения: 8
Зарегистрирован: 21 фев 2018, 04:59

Аватара пользователя

Максим

Сообщения: 6005
Зарегистрирован: 11 дек 2010, 20:29

Re: Ошибка Access denied for user ‘root’@’localhost’ (using password: YES) при входе в среду MySQL

Непрочитанное сообщение

Максим » 22 июн 2021, 03:39

В таком случае что вы называете «не запускается» — у вас сервер именно не запускается (не стартует модуль) или вы видите сообщение об ошибке Access denied for user ‘root’@’localhost’ (using password: YES) при входе в среду MySQL? Если вы про второе — то перед настройкой сервера на IP отличном от 127.0.0.1 необходимо настроить права доступа для пользователей баз данных. По умолчанию доступ для пользователей разрешен только с IP 127.0.0.1. Об этом в новостях даже написано, в прошлой версии тоже так было, просто сейчас к этому правилу и PostgreSQL добавилось.

Понравилась статья? Поделить с друзьями:
  • Perfect world mobile ошибка аккаунта
  • Perfect world mobile ошибка 155771
  • Perco ошибка обновления лицензии лицензионный контроллер не включен
  • Perco s20 ошибка отсутствует конфигурация считывателя иу
  • People playground ошибка при запуске