Перейти к содержимому

Sqlstate hy000 2002 connection refused что это

  • автор:

Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Страницы 1

#1 08.04.2017 07:40:30

web_coder +1 Сообщений: 23

Mysql Connection refused

Здравствуйте.
Есть сайт с 2000 просмотров в сутки. Все работает, но два раза за последнюю неделю был сбои на 1-2 часа судя по логам.
Ошибка [2017-04-07 23:50:01] production.ERROR: exception ‘PDOException’ with message ‘SQLSTATE[HY000] [2002] Connection refused’ in /home/m/***/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43
Stack trace:
#0

В настройках указан порт ‘port’ => env(‘DB_PORT’, ‘3306’) — так было по умолчанию. Сейчас решил убрать вообще эту настройку (и из .env) — все работает. Вопрос, собственно, в чем причина сбоя может быть и куда копать. Хостинг timeweb — shared.
Спасибо.

Не в сети 23.12.2016

#2 08.04.2017 08:35:31

master

constb +141 Мастер Сообщений: 624

Re: Mysql Connection refused

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

в принципе для шареда это нормально, не все пользователи разумно используют выделенные ресурсы, а поскольку изоляция невелика, то их косяки затрагивают всех, кто живёт на том же сервере

порт базы так и так 3306 независимо от того есть он в настройках или нет. так что всё заработало не из-за этого

Не в сети 19.02.2015

#3 08.04.2017 08:37:48

web_coder +1 Сообщений: 23

Re: Mysql Connection refused

Спасибо. Оно заработало само, да. Я порт убрал позже, потому что гугл по таким проблемам говорит, что в порте может быть дело.

Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

  • Форум
  • » Laravel 5.x
  • » Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

Страницы 1

#1 31.07.2015 18:23:04

VovaMark2 Сообщений: 5

Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

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

PDOException in Connector.php line 50:
SQLSTATE[HY000] [2002] Connection refused

Гугл не помог, подскажите, может быть у кого-то была подобная проблема?
Использую homestead, но еще на компьютере установлен MAMP, может быть дело в этом?

Не в сети 31.07.2015

#2 01.08.2015 04:46:07

VovaMark2 Сообщений: 5

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

http://joxi.ru/GrqdW3ns965BAz
Так и не нашел решения, помогите пожалуйста

Не в сети 31.07.2015

#3 01.08.2015 12:11:14

fanaticus +6 Сообщений: 110

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

Настройте конфигурацию подключения к бд в файле .env

Не в сети 23.11.2014

#4 01.08.2015 13:52:43

VovaMark2 Сообщений: 5

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

Файл настроен, миграции проходят, но статьи не выводятся.
http://joxi.ru/zANpbxPsPXO6m9

Не в сети 31.07.2015

#5 01.08.2015 14:26:03

VovaMark2 Сообщений: 5

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

Выявил такую ошибку, меняешь параметры в файле .env, но на сайте в дебагере они не меняются.

Не в сети 31.07.2015

#6 01.08.2015 19:39:37

fanaticus +6 Сообщений: 110

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

Я Вам написал, исправьте настройки в .env

DB_HOST=ХОСТ DB_DATABASE=БАЗА DB_USERNAME=ЛОГИН DB_PASSWORD=ПАРОЛЬ

и в database.php

 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'ХОСТ'), 'database' => env('DB_DATABASE', 'БАЗА'), 'username' => env('DB_USERNAME', 'ЛОГИН'), 'password' => env('DB_PASSWORD', 'ПАРОЛЬ'), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ],

Не в сети 23.11.2014

#7 01.08.2015 19:40:19

fanaticus +6 Сообщений: 110

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

По скриншоту видно, что у вас дефолтные настройки

Не в сети 23.11.2014

#8 17.08.2015 13:31:37

vlas Сообщений: 1

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

fanaticus пишет:

По скриншоту видно, что у вас дефолтные настройки

Нифига не дефолтные, точнее кажется что это так. порт у него какой то марсианский 33060, а так вроде ниче так дефолт 😀

Не в сети 17.08.2015

#9 04.09.2016 04:58:54

alex_whoami Откуда: Рязань Сообщений: 5 Сайт

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

собственно кому полезно может будет.
Решение аналогичное Fanaticus.

правда машина — Мак, локалхост через Mamp.
после некоторых действий тут
http://stackoverflow.com/questions/3250 … -with-mamp
переМэйкил контроллер связанный с миграцией.

love what you doing

Не в сети 25.01.2016

#10 01.12.2018 12:39:36

ESitchikhin Сообщений: 1

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

У меня возникла такая же проблема на MAMP. Решил просто — включил галочку в настройках MySQL. Если кому-то поможет, тут скриншот экрана, на котором нужно включить настройку http://priscree.ru/img/bc59e5a1ee0c1c.png

Не в сети 01.12.2018

#11 01.12.2018 13:08:32

writer

artoodetoo +154 Писарь Сообщений: 670 Статей: 1

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

@VovaMark2 а не может такого быть, что миграции ты выполняешь на одной машине (виртуальной), а вебсервер работает на другой (физической)? В такм случае localhost для них разный. Лучше всего всё делать на одном и том же хосте, но если очень хочется иметь доступ отовсюду, то надо указать IP где находится сервер БД и убедиться, что настроки MySQL позволят обращаться извне.

Другая идея состоит в том, что возможно настройки нормальные, но конфигурация не обновилась из-за кеширования. Решается через
php artisan config:clear
или
php artisan config:cache

There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети 21.11.2017

#12 24.10.2021 18:33:09

SergAndreev +1 Сообщений: 10

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

artoodetoo, спасибо!
При переносе проекта на VPS такая же ошибка была.
Помогло обновление кэш
php artisan config:cache

Не в сети 08.05.2021

#13 17.11.2022 21:18:56

nathanjohn97190 Сообщений: 1

Re: Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused

Я запускаю laravel через docker-compose.

Мне помогло вот это

DB_HOST=mysql

Так, как в docker-compose.yml прописано services: mysql

Laravel 8 SQLSTATE[HY000] [2002] Connection refused

Всем привет! Проблема следующая, когда пытаюсь сделать любой запрос к базе выдает ошибку SQLSTATE[HY000] [2002] Connection refused, при этом миграции работают без проблем. Пробовал менять 127.0.0.1 на localhost — ошибка остается, миграции отваливаются. Заменял на mysql, все по-прежнему, миграции не работают. Миграции работают только с DB_HOST=127.0.0.1, но при этом не работают запросы. С DB_HOST=localhost не работает ничего. Помогите кто сталкивался с подобной проблемой, недавно начал изучать Laravel, поэтому вообще понятия не имею куда копать и что еще пробовать, заранее спасибо! docker-compose.yml

# For more information: https://laravel.com/docs/sail version: '3' services: laravel.test: build: context: ./vendor/laravel/sail/runtimes/8.1 dockerfile: Dockerfile args: WWWGROUP: '$' image: sail-8.1/app extra_hosts: - 'host.docker.internal:host-gateway' ports: - '$:80' environment: WWWUSER: '$' LARAVEL_SAIL: 1 XDEBUG_MODE: '$' XDEBUG_CONFIG: '$' volumes: - '.:/var/www/html' networks: - sail depends_on: - mysql - redis - meilisearch - selenium mysql: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: '12345' MYSQL_USER: 'admin' MYSQL_PASSWORD: '12345' MYSQL_DATABASE: 'laradb' volumes: - mysqldata:/var/lib/mysql ports: - 3307:3306 phpmyadmin: image: phpmyadmin/phpmyadmin container_name: phpmyadmin1 environment: - PMA_ARBITRARY=1 restart: always ports: - 8081:80 environment: PMA_HOST: mysql redis: image: 'redis:alpine' ports: - '$:6379' volumes: - 'sailredis:/data' networks: - sail healthcheck: test: ["CMD", "redis-cli", "ping"] retries: 3 timeout: 5s meilisearch: image: 'getmeili/meilisearch:latest' platform: linux/x86_64 ports: - '$:7700' volumes: - 'sailmeilisearch:/data.ms' networks: - sail healthcheck: test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:7700/health"] retries: 3 timeout: 5s mailhog: image: 'mailhog/mailhog:latest' ports: - '$:1025' - '$:8025' networks: - sail selenium: image: 'selenium/standalone-chrome' volumes: - '/dev/shm:/dev/shm' networks: - sail networks: sail: driver: bridge volumes: sailmysql: driver: local sailredis: driver: local sailmeilisearch: driver: local mysqldata: <> 

Мой код: .env

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3307 DB_DATABASE=laradb DB_USERNAME=root DB_PASSWORD=12345 

Проект разрабатывается в Docker на MacOS BigSur. По умолчанию на ОС чем-то забит порт 3306, поэтому использую в Докере 3307, работает с БД только так и это проверенно уже не одним проектом. Собственно миграции заработали только когда вписал 3307 (сразу просто забыл поменять), а вот запросы к БД ни с каким не работают. config/database.php

'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'laradb'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', '12345'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ], 

Также пробовал писать значение в database.php точно такие же как в .env, пробовал оставлять по умолчанию — ничего не помогло. Оставил вот так. Добавил в базу запись, пытаюсь вывести таким образом:

Route::get('/test', function ()< $posts = DB::table('posts')->get(); return $posts; >); 

Также пробовал такой вариант, чтобы добавить данный в БД,просто может не правильно вывожу и считываю, я уже ни в чем не уверен)))

DB::insert('insert into posts(title, content) values(?, ?)', ['Laravel News', 'Some text about Laravel']); 

Почему в laravel нет доступа к БД (SQLSTATE[HY000] [2002] Connection refused)?

Здравствуйте!
Поднимаю php и mysql в docker (у меня винда), использую вот это https://github.com/drandin/docker-php-workspace
Далее:
1. Устанавливаю laravel
2. Вношу в файл .env необходимые данные для доступа к БД

Скриншот фрагмента кода удалён модератором.

f7b5605409.jpg

3. Выполняю миграции «php artisan migrate» — все нормально, таблицы в БД появились

4. Устанавливаю пакет breeze
5. Перехожу на маршрут регистрации, заполняю форму и отправляю ее.
6. Получаю ошибку «SQLSTATE[HY000] [2002] Connection refused (SQL: select count(*) as aggregate from `users` where `email` = qqq1@qqq.qq)»
7. Не понимаю что происходит, ведь миграции прошли норм. Расшарил ошибку тут https://flareapp.io/share/353Gzeo5#F67
8. Есть подозрение что это как то связано с правами доступа, но я не силен в системном администрировании linux
9. Иду на тостер, пишу это сообщение.

Может у кого-нибудь есть мысли что пошло не так?

  • Вопрос задан 26 февр. 2023
  • 308 просмотров

4 комментария

Простой 4 комментария

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

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