Mysqli_real_connect (): (hy000 /2002): нет такого файла или каталога

Что делать?

Во-первых, нужно убедиться, что вы используете правильные имя пользователя и пароль. Для этого нужно подключиться к MySQL с правами администратора (если ошибка 1045 не дает такой возможности, то нужно перезапустить сервер MySQL в режиме —skip-grant-tables), посмотреть содержимое таблицы user служебной базы mysql, в которой хранится информация о пользователях, и при необходимости отредактировать её.

SELECT user,host,password FROM mysql.user;
+—————+——————+——————————————-+
| user          | host            | password                                  |
+—————+——————+——————————————-+
| root          | house-f26710394 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| aa            | localhost       | *196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7 |
| test          | localhost       |                                           |
| new_user      | %               |                                           |
|               | %               | *D7D6F58029EDE62070BA204436DE23AC54D8BD8A |
| new@localhost | %               | *ADD102DFD6933E93BCAD95E311360EC45494AA6E |
| root          | localhost       | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+—————+——————+——————————————-+

Если изначально была ошибка:

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

    значит вы указывали при подключении неверный пароль, так как пользователь root@localhost существует. Сам пароль храниться в зашифрованном виде и его нельзя узнать, можно лишь задать новый

    SET PASSWORD FOR root@localhost=PASSWORD(‘новый пароль’);

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

    в данном случае в таблице привилегий отсутствует пользователь ‘ODBC’@’localhost’. Его нужно создать, используя команды GRANT, CREATE USER и SET PASSWORD.

Экзотический пример. Устанавливаете новый пароль для root@localhost в режиме —skip-grant-tables, однако после перезагрузки сервера по прежнему возникает ошибка при подключении через консольный клиент:ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
Оказалось, что было установлено два сервера MySQL, настроенных на один порт.

phpmyadmin

При открытии в браузере phpmyadmin получаете сообщение:

ErrorMySQL said: #1045 — Access denied for user ‘root’@’localhost’ (using password: NO)
Connection for controluser as defined in your configuration failed.
phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in your configuration and make sure that they correspond to the information given by the administrator of the MySQL server.

Ни логина, ни пароля вы не вводили, да и пхпадмин их нигде требовал, сразу выдавая сообщение об ошибке. Причина в том, что данные для авторизации берутся из конфигурационного файла config.inc.php Необходимо заменить в нем строчки

$cfg’Servers’$i’user’ = ‘root’;      // MySQL user$cfg’Servers’$i’password’ = »;      // MySQL password (only needed

$cfg’Servers’$i’user’ = ‘ЛОГИН’;      $cfg’Servers’$i’password’ = ‘ПАРОЛЬ’

Обеспечение безопасности MySQL

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

Вызвать скрипт без аргументов:

sudo mysql_secure_installation

Вам будет предложено настроить VALIDATE PASSWORD PLUGIN, который используется для проверки надежности паролей пользователей MySQL и повышения безопасности:

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

Существует три уровня политики проверки паролей: низкий, средний и сильный. Нажмите, yесли вы хотите настроить плагин проверки пароля или любую другую клавишу, чтобы перейти к следующему шагу:

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

В следующем приглашении вам будет предложено установить пароль для пользователя root MySQL:

Please set the password for root here.


New password: 

Re-enter new password: 

Если вы установили плагин проверки пароля, скрипт покажет вам силу вашего нового пароля. Введите yдля подтверждения пароля:

Estimated strength of the password: 50 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

Далее вам будет предложено удалить анонимного пользователя, ограничить доступ root-пользователя к локальному компьютеру, удалить тестовую базу данных и перезагрузить таблицы привилегий. Вы должны ответить yна все вопросы.

Неожиданная ошибка после настройки can’t connect to local Mysql Server

По факту это помощник в установке, который настроит всю систему на основе ваших ответов. 

Возможно после запуска вы столкнетесь с ошибкой 

Error: Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2) 

Я столкнулся. Что значит эта ошибка? Сокета либо нет, либо к нему нет доступа. Поэтому идем в папку:

и там действительно пусто. Сокета там нет. Создается он в процессе запуска mysql. Поэтому проверим статус сервиса, следующей командой:

* MySQL is stopped.

Давайте его запустим:

* Starting MySQL database server mysqld

Проверим статус:

Можете еще зайти в папку /var/run/mysqld/. Там вы увидите сокет.

Обратите внимание, с какими правами и под каким пользователем запущен сокет. Часто из-за нехватки прав может быть такая же ошибка

Подключение через панель управления TimeWeb

Чтобы подключиться удаленно к MySQL, необходимо для начала открыть сайт хостинга и авторизоваться в личном кабинете. В панели управления следует выбрать раздел «Базы данных MySQL», через него и будем проводить операции. В новом открывшемся окне находим ссылку «Добавить доступ» напротив того сервера, к которому планируется подключиться. Для разрешения доступа к подсети /24 меняем последний актет IP-адреса на знак %.

При установлении соединения используем имя сервера или его IP-адрес. Данная информация доступна на главной странице в разделе «Информация о сервере». Порт указываем 3306, имя пользователя будет тем же, что и название базы данных. Вводим пароль и устанавливаем соединение.

phpMyAdmin

phpMyAdmin – программное средство, предоставляющее веб-интерфейс для работы с сервером MySQL. Подключиться к базе можно, открыв раздел «Базы данных MySQL» в панели управления хостингом. Находим на странице ссылку «phpMyAdmin» и жмем по ней для подключения. Если она недоступна, значит, пользователем был превышен лимит доступных БД. Увеличить его можно сменой тарифа.

Входим в данный раздел, вбиваем все данные и подключаемся.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector