Ошибка 2002 webasyst

Постоянно выскакивает ошибка Error 2002

интервал примерно 40 минут — 1 час.

Uncaught exception waDbException:
Database error. See log for details. (2002)
## wa-system/database/waDbMysqliAdapter.class.php(33)
#0 wa-system/database/waDbAdapter.class.php(30): waDbMysqliAdapter->connect(Array)
#1 wa-system/database/waDbConnector.class.php(49): waDbAdapter->__construct(Array)
#2 wa-system/database/waModel.class.php(75): waDbConnector::getConnection('default', false)
#3 wa-system/contact/waContact.class.php(851): waModel->__construct()
#4 wa-system/waSystem.class.php(996): waContact->getLocale()
#5 wa-system/waSystem.class.php(1151): waSystem->getApps()
#6 wa-system/waSystem.class.php(538): waSystem->appExists('webasyst')
#7 wa-system/waSystem.class.php(485): waSystem->dispatchBackend('webasyst/')
#8 index.php(7): waSystem->dispatch()
#9 {main}
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111 "Connection refused")
## wa-system/database/waDbMysqliAdapter.class.php(33)
#0 wa-system/database/waDbAdapter.class.php(30): waDbMysqliAdapter->connect(Array)
#1 wa-system/database/waDbConnector.class.php(49): waDbAdapter->__construct(Array)
#2 wa-system/database/waModel.class.php(75): waDbConnector::getConnection('default', false)
#3 wa-system/user/waAuthUser.class.php(113): waModel->__construct()
#4 wa-system/user/waAuthUser.class.php(52): waAuthUser->updateLastTime()
#5 wa-system/user/waAuthUser.class.php(24): waAuthUser->init()
#6 wa-system/waSystem.class.php(240): waAuthUser->__construct(NULL, Array)
#7 wa-system/waSystem.class.php(281): waSystem::getCommonFactory('auth_user', 'waAuthUser', Array, NULL)
#8 wa-system/waSystem.class.php(526): waSystem->getUser()
#9 wa-system/waSystem.class.php(485): waSystem->dispatchBackend('webasyst/')
#10 index.php(7): waSystem->dispatch()
#11 {main}

интервал примерно 40 минут — 1 час.

Настроили автоочиску кэша SQL с интервалом в 1 час, т.к. быстро переполняется память.

Подскажите как исправить чтобы сайт не падал постоянно?

Работает на сервере VPS

Процессор 2 ядра 2x 2.13-2.5 ГГц

RAM 2 Гб

HDD 40 Гб RAID-10

IP-адреса 1 IPv4

Трафик Не ограничен 100 Mbps Shared

Databases play a critical role in the proper working of any web applications. They store, organize and manage a large amount of user data.

Any problem with database connectivity can cause website errors. And the error show up as “sqlstate hy000 error 2002.”

At Bobcares, we specialize in fixing database errors for our customers as part of our Server Management Services.

Today, we’ll see various reasons for sqlstate hy000 error 2002 and how our Database Engineers fix it.

Examining sqlstate 2002 error

Before we dive into the solution, let’s first check the sqlstate 2002 error in detail.

In general, when we configure any PHP application, we specify the details of the database in the configuration file. The same is applicable in case of popular content management systems like WordPress, Joomla, Magento, etc. And, when we update or change any setting in the website, it gets saved on the database. For this to work, there should not be any problem with database connection with MySQL host server.

The database connection can fail due to reasons like wrong database details in the configuration file, port restrictions on the server, missing files, lack of resources on the server and so on.

In simple terms, MySQL error 2002 denotes a problem of connection between the website code and the database.

There are many variants of the sqlstate hy000 2002 error. The details are readily available in the second part of the error message.

From our experience in managing servers, our Dedicated Engineers see variants of sqlstate hy000 error 2002 as

Connection failed: SQLSTATE[HY000] [2002] Connection refused
Connection failed: SQLSTATE[HY000] [2002] No such file or directory
SQLSTATE[HY000] [2002] Resource temporarily unavailable
exit status 3

Again, a similar error on a Magento website appear as :

What causes sqlstate hy000 error 2002?

Now, let’s have a look on the possible causes for sqlstate hy000 error 2002.

1.MySQL server not running

In many of the cases where websites report sqlstate 2002 error, the underlying reason would be stopped MySQL server. And, this can happen due to broken MySQL libraries, resource crunch on the server, etc. When MySQL is not running on the server, the website will not be able to connect to the database and its reports “Connection refused error.

2. Incorrect database settings

Similarly, a major reason for sqlstate hy000 2002 error is the incorrect database settings in the configuration file. For the proper working of the program, the file should contain correct database server name, database user details and password.

If the MySQL service is listening on 127.0.0.1, the same settings should be given in the database connection string. Moreover, the MySQL server should accept connections on this IP address too.

3. Insufficient server resources

Last and not the least, insufficient server resources also can be a reason for MySQL errors. When the server has too many MySQL queries, it requires too much server memory. Additionally, when websites use resource intensive queries, it add to the server load and lack of memory on the server. It ends up in errors like “SQLSTATE[HY000] [2002] Resource temporarily unavailable.

How we fix sqlstate hy000 error 2002

Let’s take a look on how our Dedicated Engineers helped one of our customers to fix the sqlstate hy000 error 2002.

The customer was using a PHP tracking script on his website. There was a high volume of MySQL activity (about 4 inserts a second), from this tracking script, and this was causing the MySQL Connection time out error. And, on the website it resulted in error:

Exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Connection timed out

It was a sign of PHP script timing out while connecting to MySQL host.

1. Ensure MySQL running status

Here, we first checked the status of MySQL server. It was running fine on the server as per the snippet below.

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-03-09 15:25:43 xx; 2 weeks 5 days ago

Therefore, we isolated the problem with MySQL server status.

2. Correcting Configuration file

As the second step, we checked and confirmed that the script was using correct Database details including Hostname, User and Password. Moreover, the website was showing data from the database too. Thus, the connection was happening. The error was happening only at certain intervals.

Additionally, we checked that MySQL database user was able to connect from the command line.

3. Fixing server resources

Since we already ruled out configuration errors, the next thing to check was the server resources. Here, our Dedicated Engineers checked the memory usage on the server. We found that MySQL memory usage was high in the server (around 89% of available memory).

PID  USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                             
30571 mysql     20   0 58.947g 0.055t   9832 S 135.1 89.2  16872:22 /usr/sbin/mysqld  

The memory usage statistics on the server looked as below.

We could see that there was a scope for MySQL tweaks in the server. Therefore, we analyzed the MySQL server performance by watching the MySQL queries and its impact on the server. Then our expert Database Engineers tweaked certain MySQL parameters such as join_buffer_size, table_open_cache and innodb_buffer_pool_instances.

After the tweaking, we restarted MySQL services at off-peak hours to minimize the impact on live websites. The performance on the MySQL server improved drastically and it fixed sqlstate hy000 error 2002 as well.

[Looking for tweaking MySQL server for improved performance? Our MySQL experts are available 24×7.]

Conclusion

In short, sqlstate hy000 error 2002 can happen due to stopped MySQL server, insufficient server resources, etc. Today we saw how our Dedicated Engineers troubleshooted and fixed MySQL errors for one of our customers.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = «owonCMyG5nEQ0aD71QM»;

Содержание

  1. Код ошибки 20-02, 20-00, 20-01, 60 Сбербанк Онлайн
  2. Причины появления ошибок на банковских сайтах
  3. Решение проблемы с доступом к Сбербанк Онлайн
  4. Что делать при проблеме с сервером
  5. Способы решения ошибки 2002 в iTunes
  6. Способы решения ошибки 2002 в iTunes
  7. Способ 1: закрытие конфликтующих программ
  8. Способ 2: замена USB-кабеля
  9. Способ 3: подключение к другому USB-порту
  10. Способ 4: отключение других USB-устройств
  11. Способ 5: перезагрузка устройств
  12. Устраняем типичные ошибки в MySQL
  13. Авторизуйтесь
  14. Устраняем типичные ошибки в MySQL
  15. Не удаётся подключиться к локальному серверу
  16. Не удаётся подключиться к серверу MySQL
  17. Ошибки запрета доступа в MySQL
  18. Потеря соединения с сервером MySQL
  19. Слишком много подключений
  20. Недостаточно памяти
  21. MySQL продолжает «падать»
  22. Заключение
  23. Соединение MySQL не работает: 2002 Нет такого файла или каталога
  24. Включить поддержку PHP5 для Apache HTTP
  25. Поиск имени файла сокета
  26. Настройка PHP5 с поддержкой MySQL — /etc/php.ini
  27. Окончательная проверка

Код ошибки 20-02, 20-00, 20-01, 60 Сбербанк Онлайн

При переходе на банковские сайты, иногда пользователи сталкиваются с ошибками, которые имеют код 20, 2000, 20 01. Все три ошибки имеют схожий характер, так как появляется на экране предупреждение, что нет интернет-соединения. Пользователю могут порекомендовать проверить интернет и попробовать зайти на банковский сайт снова. Но часто дело не только в этом, а есть и другие причины появления ошибки.

Также такую ошибку заметили пользователи Сбербанк Онлайн. Там появился ещё один код – 60-02. При появлении такой ошибки, абонент не может зайти в личный кабинет для совершения любых операций. Устранить ошибку можно несколькими способами, но сначала нужно найти проблему.

Причины появления ошибок на банковских сайтах

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

  • Проблема с интернетом;
  • Настройки антивирусной программы;
  • Использование старой версии Сбербанк Онлайн;
  • Нет денег на счету;
  • Неполадки на сервере;
  • Сбились настройки.

Решение проблемы с доступом к Сбербанк Онлайн

Есть несколько решений исправить код ошибки 20 02,20-00, 20-01 Сбербанк Онлайн, в зависимости от самой проблемы. Поэтому можно сделать следующее:

  • Проверить баланс телефона;
  • Проверить правильность даты и времени;
  • Выключить VPN;
  • Отключить антивирус;
  • Почистить историю и кэш;
  • Обновить саму программу;
  • Сбросить все настройки до заводских.

Начинать поиски проблемы нужно с проверки подключения к Wi-Fi или мобильному интернету. Часто связь становится хуже, когда абонент находится в лифте, в метро или за городом. Если с этим проблем нет, тогда можно пробовать другие методы. Если же у вас было подключение в Wi-Fi, то можете переключиться на мобильный интернет или же наоборот. Попробуйте перезагрузить роутер или устройство, с которого пытаетесь загрузить онлайн-банк.

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

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

Что делать при проблеме с сервером

В таком случае клиент ничего не может сделать со своей стороны. Он может проверить работоспособность устройства, с которого пытается запустить программу и не больше. Абоненту остается подождать несколько часов и попробовать зайти в Сбербанк-онлайн снова.

Источник

Способы решения ошибки 2002 в iTunes

Столкнувшись с ошибкой с кодом 2002, пользователю это должно говорить о том, что возникли неполадки, связанные с USB-подключением либо же работу iTunes блокируют другие процессы на компьютере.

Способы решения ошибки 2002 в iTunes

Способ 1: закрытие конфликтующих программ

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

Способ 2: замена USB-кабеля

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

Способ 3: подключение к другому USB-порту

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

1. Не стоит использовать порт USB 3.0. Данный порт отличается более высокой скоростью передачи данных и выделяется голубым цветом. Как правило, в большинстве случаев он используется для подключения загрузочных флешек, но от использования через него других USB-устройств лучше отказаться, поскольку в некоторых случаях они могут работать некорректно.

2. Подключение должно выполняться к компьютеру напрямую. Данный совет актуален, если Apple-устройство подключается к USB-порту через дополнительные устройства. Например, у вас используется USB-хаб или имеется порт на клавиатуре – в данном случае от подобных портов настоятельно стоит отказаться.

3. Для стационарного компьютера подключение следует выполнять с обратной стороны системного блока. Как показывает практика, чем ближе USB-порт находится к «сердцу» компьютера, тем стабильнее оно будет работать.

Способ 4: отключение других USB-устройств

Если в момент работы с iTunes к компьютеру подключены и другие USB-устройтва (за исключением мыши и клавиатуры), их следует обязательно отключить, чтобы работа компьютера была сконцентрирована на Apple-гаджете.

Способ 5: перезагрузка устройств

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

Для этого одновременно нажмите и удерживайте клавиши Home и Power (обычно не более 30 секунд). Держите до тех пор, пока не произойдет резкое отключение устройства. Дождитесь полной загрузки компьютера и Apple-гаджета, а затем повторите попытку подключения и работы с программой iTunes.

Если вы можете поделиться своим опытом решения ошибки с кодом 2002 при работе программой iTunes, оставляйте свои комментарии.

Помимо этой статьи, на сайте еще 12533 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Устраняем типичные ошибки в MySQL

Авторизуйтесь

Устраняем типичные ошибки в MySQL

MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.

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

Не удаётся подключиться к локальному серверу

Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».

Эта ошибка означает, что на хосте не запущен сервер MySQL ( mysqld ) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.

Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.

Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.

Чтобы проверить состояние службы MySQL, используйте следующую команду:

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

Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.

New Media , Санкт-Петербург , По итогам собеседования

Для поиска порта, который прослушивается сервером, используйте команду netstat .

Не удаётся подключиться к серверу MySQL

Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.

Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).

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

Ошибки запрета доступа в MySQL

В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).

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

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

Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):

В консоли вводим команду:

Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:

Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).

Потеря соединения с сервером MySQL

С этой ошибкой можно столкнуться по одной из следующих причин:

  • плохое сетевое соединение;
  • истекло время ожидания соединения;
  • размер BLOB больше, чем max_allowed_packet .

В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).

Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout .

В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.

Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.

Слишком много подключений

Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections . Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf .

Недостаточно памяти

Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.

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

  • если клиент MySQL используется напрямую, запустите его с ключом —quick switch , чтобы отключить кешированные результаты;
  • если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).

Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.

MySQL продолжает «падать»

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

Вы можете проверить состояние сервера, чтобы определить, как долго он работал.

Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin .

Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:

Заключение

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

  • Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге /var/log/mysql/ . Вы можете использовать утилиты командной строки вроде tail для чтения файлов журнала.
  • Если служба MySQL не запускается, проверьте её состояние с помощью systemctl . Или используйте команду journalctl (с флагом -xe ) в systemd.
  • Вы также можете проверить файл системного журнала (например, /var/log/messages ) на предмет обнаружения ошибок.
  • Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
  • Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
  • Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды: mysqladmin -u root ping или mysqladmin -u root processlist , чтобы получить от него ответ.
  • Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.

Источник

Соединение MySQL не работает: 2002 Нет такого файла или каталога

Я пытаюсь настроить WordPress. У меня работают Apache и MySQL, и все учетные записи и база данных настроены. Я попытался установить простое соединение:

И я всегда получаю это:

Ошибка: 2002 — Нет такого файла или каталога

О каком файле или каталоге может идти речь?

Я использую OS X Snow Leopard, использую встроенный Apache. Я установил MySQL с помощью dmg x86_64.

ОБНОВЛЕНИЕ: я обнаружил, что сокет находится в /tmp/mysql.sock, поэтому в php.ini я заменил им все вхождения неправильного пути.

Если вы используете Linux: неверный путь к файлу mysql.sock. Обычно это происходит потому, что вы используете (LAMPP) XAMPP, а его нет в /tmp/mysql.sock

Откройте файл php.ini и найдите эту строку:

У меня была аналогичная проблема, и я смог ее решить, обратившись к моему mysql с помощью 127.0.0.1 вместо localhost .

Это, вероятно, означает, что у меня что-то не так с настройкой хоста, но это быстрое исправление меня прямо сейчас.

Это для Mac OS X с собственной установкой Apache HTTP и выборочной установкой MySQL .

Ответ основан на отличном ответе @ alec-gorge, но, поскольку мне пришлось внести в Google некоторые конкретные изменения, чтобы настроить его в моей конфигурации, в основном для Mac OS X, я подумал, что добавлю его сюда для полноты картины.

Включить поддержку PHP5 для Apache HTTP

Убедитесь, что поддержка PHP5 включена в /etc/apache2/httpd.conf .

Отредактируйте файл sudo vi /etc/apache2/httpd.conf (введите пароль, когда его спросят) и раскомментируйте (удалите ; с начала) строку, чтобы загрузить модуль php5_module .

Запустите Apache HTTP с помощью sudo apachectl start (или, restart если он уже запущен и его нужно перезапустить, чтобы перечитать файл конфигурации).

Убедитесь, что он /var/log/apache2/error_log содержит строку, которая сообщает вам, что php5_module включен — вы должны увидеть PHP/5.3.15 (или подобное).

Поиск имени файла сокета

Когда MySQL запущен и работает (с ./bin/mysqld_safe ), на консоль должны быть выведены строки отладки, которые сообщают вам, где вы можете найти файлы журнала. Обратите внимание на имя хоста в имени файла — localhost в моем случае — оно может отличаться для вашей конфигурации.

Файл, который идет после Logging to , важен. Вот где MySQL регистрирует свою работу.

Откройте localhost.err файл (опять же, ваш может называться по-другому), т.е. tail -1 /Users/jacek/apps/mysql/data/localhost.err узнать имя файла сокета — оно должно быть последней строкой.

Обратите внимание на socket: часть — это файл сокета, который вы должны использовать php.ini .

Есть другой способ (некоторые говорят, что это более простой способ) определить местоположение имени файла сокета, войдя в MySQL и запустив:

Настройка PHP5 с поддержкой MySQL — /etc/php.ini

Кстати о php.ini .

В /etc каталоге есть файл /etc/php.ini.default . Скопируйте его в /etc/php.ini .

Откройте /etc/php.ini и найдите mysql.default_socket .

По умолчанию mysql.default_socket — /var/mysql/mysql.sock . Вы должны изменить его на значение, которое вы отметили ранее — это было /tmp/mysql.sock в моем случае.

Замените /etc/php.ini файл, чтобы он отражал имя файла сокета:

Окончательная проверка

Перезапустите Apache HTTP.

Проверьте журналы, нет ли ошибок, связанных с PHP5. Отсутствие ошибок означает, что все готово, и PHP5 с MySQL должен работать нормально. Поздравляю!

Помогла замена localhost на 127.0.0.1 в файле конфигурации (подключение к базе данных)!

Может помочь перезапуск сервера mysql. В моем случае перезапуск сервера сэкономил много времени.

PS — использовать sudo service mysql restart для некорневого пользователя.

Во-первых, убедитесь, что MySQL работает. Команда: mysqld start

Если вы по-прежнему не можете подключиться, то: Как выглядит ваш /etc/my.cnf? (или /etc/msyql/my.cnf)

Остальные 2 сообщения верны в том, что вам нужно проверить свой сокет, потому что 2002 — это ошибка сокета.

Не то чтобы это вам сильно помогло, но в последних версиях (и даже менее свежих ) MySQL код ошибки 2002 означает «Невозможно подключиться к локальному серверу MySQL через сокет [имя-сокета]», так что это может сказать вам еще немного.

Расширяя ответ Матиаса Д здесь, я смог разрешить эту ошибку 2002 года как в MySQL, так и в MariaDB с точными путями, используя следующие команды:

Сначала получите фактический путь к сокету MySQL:

Затем получите путь PHP :

Используя вывод этих двух команд , свяжите их:

Если это вернется, No such file or directory вам просто нужно создать путь к PHP mysql.sock, например, если ваш путь был, /var/mysql/mysql.sock вы бы запустили:

Затем попробуйте снова выполнить команду sudo ln .

Я бы проверил ваш файл php.ini и убедился, что mysql.default_socket установлен правильно, а также проверил, что ваш mysqld правильно настроен с файлом сокета, к которому он может получить доступ. Типичное значение по умолчанию — «/tmp/mysql.sock».

Я тоже столкнулся с этой проблемой, затем я изменил localhost на 127.0.0.1, он работает.

в моем случае у меня проблема с mysqli_connect.
когда я хочу подключиться,
mysqli_connect(‘localhost’, ‘myuser’,’mypassword’)
mysqli_connect_error () возвращает мне эту ошибку «Нет такого файла или каталога»

это сработало для меня mysqli_connect(‘localhost:3306’, ‘myuser’,’mypassword’)

Ошибка 2002 означает, что MySQL не может подключиться к локальному серверу базы данных через файл сокета (например /tmp/mysql.sock ).

Чтобы узнать, где находится ваш файл сокета, запустите:

затем дважды проверьте, что ваше приложение использует правильный файл сокета Unix или вместо этого подключается через порт TCP / IP.

Затем дважды проверьте, правильно ли настроен ваш PHP-сокет MySQL:

и убедитесь, что этот файл существует .

Если сокет Unix неправильный или не существует, вы можете создать символическую ссылку на него, например:

или исправьте свой файл конфигурации (например php.ini ).

Чтобы проверить соединение PDO непосредственно из PHP, вы можете запустить:

Также проверьте конфигурацию между Apache и CLI (интерфейс командной строки), поскольку конфигурация может отличаться.

Возможно, сервер запущен, но вы пытаетесь подключиться, используя порт TCP / IP, именованный канал или файл сокета Unix, отличный от того, который прослушивает сервер. Чтобы исправить это, вам нужно вызвать клиентскую программу (например, указав —port параметр), чтобы указать правильный номер порта, или правильный именованный канал, или файл сокета Unix (например, —socket параметр).

Другие утилиты / команды, которые могут помочь отследить проблему:

Источник

MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.

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

Не удаётся подключиться к локальному серверу

Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».

Эта ошибка означает, что на хосте не запущен сервер MySQL (mysqld) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.

Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.

$ ps xa | grep mysqld | grep -v mysqld

Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.

$ sudo systemctl start mysql        #Debian/Ubuntu
$ sudo systemctl start mysqld       #RHEL/CentOS/Fedora

Чтобы проверить состояние службы MySQL, используйте следующую команду:

$ sudo systemctl status mysql       #Debian/Ubuntu
$ sudo systemctl status mysqld      #RHEL/CentOS/Fedora

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

$ sudo systemctl restart mysql
$ sudo systemctl status mysql

Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.

Для поиска порта, который прослушивается сервером, используйте команду netstat.

$ sudo netstat -tlpn | grep "mysql"

Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.

Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).

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

ERROR 2003: Cannot connect to MySQL server on 'host_name' (111)
ERROR 2002: Cannot connect to local MySQL server through socket '/tmp/mysql.sock' (111)

Ошибки запрета доступа в MySQL

В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).

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

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

Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):

В консоли вводим команду:

> SHOW GRANTS FOR 'tecmint'@'localhost';

Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:

> grant all privileges on *.test_db to 'tecmint'@'192.168.0.100';
> flush privileges;

Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).

Потеря соединения с сервером MySQL

С этой ошибкой можно столкнуться по одной из следующих причин:

  • плохое сетевое соединение;
  • истекло время ожидания соединения;
  • размер BLOB  больше, чем max_allowed_packet.

В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).

Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout.

В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.

[mysqld]
connect_timeout=100
max_allowed_packet=500M

Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.

> SET GLOBAL connect_timeout=100;
> SET GLOBAL max_allowed_packet=524288000;

Слишком много подключений

Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections. Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf.

[mysqld]
max_connections=1000

Недостаточно памяти

Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.

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

  • если клиент MySQL используется напрямую, запустите его с ключом --quick switch, чтобы отключить кешированные результаты;
  • если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).

Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.

$ sudo apt-get install mysqltuner     #Debian/Ubuntu
$ sudo yum install mysqltuner         #RHEL/CentOS/Fedora
$ mysqltuner

MySQL продолжает «падать»

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

Вы можете проверить состояние сервера, чтобы определить, как долго он работал.

$ sudo systemctl status mysql       #Debian/Ubuntu
$ sudo systemctl status mysqld      #RHEL/CentOS/Fedora

Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin.

$ sudo mysqladmin version -p 

Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:

$ sudo mysqladmin -i 5 status

Или

$ sudo mysqladmin -i 5 -r status

Заключение

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

  • Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге /var/log/mysql/. Вы можете использовать утилиты командной строки вроде tail для чтения файлов журнала.
  • Если служба MySQL не запускается, проверьте её состояние с помощью systemctl. Или используйте команду journalctl (с флагом -xe) в systemd.
  • Вы также можете проверить файл системного журнала (например, /var/log/messages) на предмет обнаружения ошибок.
  • Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
  • Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
  • Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды: mysqladmin -u root ping или mysqladmin -u root processlist, чтобы получить от него ответ.
  • Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.

Перевод статьи «Useful Tips to Troubleshoot Common Errors in MySQL»

После перезапуска MySQL сервера у меня случился сбой, который выдавал ошибку ERROR 2002 (HY000). С такой проблемой я раньше не сталкивался, поэтому начал активно искать решение…

Непосредственно сам код ошибки выглядел так:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

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

Вообще, эта проблема не новая и интернет переполнен различными вариантами решения. Свое решение я нашел в этом посте на StackOverflow.

sudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql

После этого, проблема решилась и сервер успешно запустился, поэтому можно работать с данными дальше 😎

  • #1

Доброго всем вечера.
Возникла проблема при следующей ситуации.
Есть магазин на WebAsyst (незначительная деталь). На своей родной площадке мастерхоста работает без перебоев. Попросили меня подработать пару деталек. Слил магазин к себе, базу переливать не стал (мне её менять никак не нужно, думал к мастерхостовской просто подключиться, ещё и настройки менять не придётся).

Поставил на локалку, запускаю. Прошло фатальные 30 секунд и выдало ошибку: «Error connect to mysql». Нашёл где это в коде, впихнул туда вывод и получил массивчик от линка, в котором значится:

[connect_errno] => 2002
[connect_error] => Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.

Думал проблема с локальным сервером, закинул к себе на хостинг — опять тоже самое. База толстенная, сливать категорически не хочется.

Может кто-нибудь знает как обойти эту небольшую неприятность?

  • #2

А мастерхост разрешает удалённо подключаться к базе?

  • #3

http://masterhost.ru/support/doc/mysql/#sst

Вот тут пишут что прямой доступ из интернета заблочен, но можно через SSH…а можно ли скриптом ему туннелирование доступа к БД сделать?

Содержание

  1. Код ошибки 20-02, 20-00, 20-01, 60 Сбербанк Онлайн
  2. Причины появления ошибок на банковских сайтах
  3. Решение проблемы с доступом к Сбербанк Онлайн
  4. Что делать при проблеме с сервером
  5. Способы решения ошибки 2002 в iTunes
  6. Способы решения ошибки 2002 в iTunes
  7. Способ 1: закрытие конфликтующих программ
  8. Способ 2: замена USB-кабеля
  9. Способ 3: подключение к другому USB-порту
  10. Способ 4: отключение других USB-устройств
  11. Способ 5: перезагрузка устройств
  12. Устраняем типичные ошибки в MySQL
  13. Авторизуйтесь
  14. Устраняем типичные ошибки в MySQL
  15. Не удаётся подключиться к локальному серверу
  16. Не удаётся подключиться к серверу MySQL
  17. Ошибки запрета доступа в MySQL
  18. Потеря соединения с сервером MySQL
  19. Слишком много подключений
  20. Недостаточно памяти
  21. MySQL продолжает «падать»
  22. Заключение
  23. Соединение MySQL не работает: 2002 Нет такого файла или каталога
  24. Включить поддержку PHP5 для Apache HTTP
  25. Поиск имени файла сокета
  26. Настройка PHP5 с поддержкой MySQL — /etc/php.ini
  27. Окончательная проверка

Код ошибки 20-02, 20-00, 20-01, 60 Сбербанк Онлайн

При переходе на банковские сайты, иногда пользователи сталкиваются с ошибками, которые имеют код 20, 2000, 20 01. Все три ошибки имеют схожий характер, так как появляется на экране предупреждение, что нет интернет-соединения. Пользователю могут порекомендовать проверить интернет и попробовать зайти на банковский сайт снова. Но часто дело не только в этом, а есть и другие причины появления ошибки.

Также такую ошибку заметили пользователи Сбербанк Онлайн. Там появился ещё один код – 60-02. При появлении такой ошибки, абонент не может зайти в личный кабинет для совершения любых операций. Устранить ошибку можно несколькими способами, но сначала нужно найти проблему.

Причины появления ошибок на банковских сайтах

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

  • Проблема с интернетом;
  • Настройки антивирусной программы;
  • Использование старой версии Сбербанк Онлайн;
  • Нет денег на счету;
  • Неполадки на сервере;
  • Сбились настройки.

Решение проблемы с доступом к Сбербанк Онлайн

Есть несколько решений исправить код ошибки 20 02,20-00, 20-01 Сбербанк Онлайн, в зависимости от самой проблемы. Поэтому можно сделать следующее:

  • Проверить баланс телефона;
  • Проверить правильность даты и времени;
  • Выключить VPN;
  • Отключить антивирус;
  • Почистить историю и кэш;
  • Обновить саму программу;
  • Сбросить все настройки до заводских.

Начинать поиски проблемы нужно с проверки подключения к Wi-Fi или мобильному интернету. Часто связь становится хуже, когда абонент находится в лифте, в метро или за городом. Если с этим проблем нет, тогда можно пробовать другие методы. Если же у вас было подключение в Wi-Fi, то можете переключиться на мобильный интернет или же наоборот. Попробуйте перезагрузить роутер или устройство, с которого пытаетесь загрузить онлайн-банк.

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

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

Что делать при проблеме с сервером

В таком случае клиент ничего не может сделать со своей стороны. Он может проверить работоспособность устройства, с которого пытается запустить программу и не больше. Абоненту остается подождать несколько часов и попробовать зайти в Сбербанк-онлайн снова.

Источник

Способы решения ошибки 2002 в iTunes

Столкнувшись с ошибкой с кодом 2002, пользователю это должно говорить о том, что возникли неполадки, связанные с USB-подключением либо же работу iTunes блокируют другие процессы на компьютере.

Способы решения ошибки 2002 в iTunes

Способ 1: закрытие конфликтующих программ

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

Способ 2: замена USB-кабеля

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

Способ 3: подключение к другому USB-порту

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

1. Не стоит использовать порт USB 3.0. Данный порт отличается более высокой скоростью передачи данных и выделяется голубым цветом. Как правило, в большинстве случаев он используется для подключения загрузочных флешек, но от использования через него других USB-устройств лучше отказаться, поскольку в некоторых случаях они могут работать некорректно.

2. Подключение должно выполняться к компьютеру напрямую. Данный совет актуален, если Apple-устройство подключается к USB-порту через дополнительные устройства. Например, у вас используется USB-хаб или имеется порт на клавиатуре – в данном случае от подобных портов настоятельно стоит отказаться.

3. Для стационарного компьютера подключение следует выполнять с обратной стороны системного блока. Как показывает практика, чем ближе USB-порт находится к «сердцу» компьютера, тем стабильнее оно будет работать.

Способ 4: отключение других USB-устройств

Если в момент работы с iTunes к компьютеру подключены и другие USB-устройтва (за исключением мыши и клавиатуры), их следует обязательно отключить, чтобы работа компьютера была сконцентрирована на Apple-гаджете.

Способ 5: перезагрузка устройств

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

Для этого одновременно нажмите и удерживайте клавиши Home и Power (обычно не более 30 секунд). Держите до тех пор, пока не произойдет резкое отключение устройства. Дождитесь полной загрузки компьютера и Apple-гаджета, а затем повторите попытку подключения и работы с программой iTunes.

Если вы можете поделиться своим опытом решения ошибки с кодом 2002 при работе программой iTunes, оставляйте свои комментарии.

Помимо этой статьи, на сайте еще 12533 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Устраняем типичные ошибки в MySQL

Авторизуйтесь

Устраняем типичные ошибки в MySQL

MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.

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

Не удаётся подключиться к локальному серверу

Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».

Эта ошибка означает, что на хосте не запущен сервер MySQL ( mysqld ) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.

Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.

Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.

Чтобы проверить состояние службы MySQL, используйте следующую команду:

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

Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.

New Media , Санкт-Петербург , По итогам собеседования

Для поиска порта, который прослушивается сервером, используйте команду netstat .

Не удаётся подключиться к серверу MySQL

Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.

Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).

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

Ошибки запрета доступа в MySQL

В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).

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

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

Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):

В консоли вводим команду:

Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:

Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).

Потеря соединения с сервером MySQL

С этой ошибкой можно столкнуться по одной из следующих причин:

  • плохое сетевое соединение;
  • истекло время ожидания соединения;
  • размер BLOB больше, чем max_allowed_packet .

В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).

Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout .

В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.

Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.

Слишком много подключений

Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections . Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf .

Недостаточно памяти

Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.

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

  • если клиент MySQL используется напрямую, запустите его с ключом —quick switch , чтобы отключить кешированные результаты;
  • если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).

Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.

MySQL продолжает «падать»

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

Вы можете проверить состояние сервера, чтобы определить, как долго он работал.

Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin .

Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:

Заключение

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

  • Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге /var/log/mysql/ . Вы можете использовать утилиты командной строки вроде tail для чтения файлов журнала.
  • Если служба MySQL не запускается, проверьте её состояние с помощью systemctl . Или используйте команду journalctl (с флагом -xe ) в systemd.
  • Вы также можете проверить файл системного журнала (например, /var/log/messages ) на предмет обнаружения ошибок.
  • Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
  • Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
  • Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды: mysqladmin -u root ping или mysqladmin -u root processlist , чтобы получить от него ответ.
  • Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.

Источник

Соединение MySQL не работает: 2002 Нет такого файла или каталога

Я пытаюсь настроить WordPress. У меня работают Apache и MySQL, и все учетные записи и база данных настроены. Я попытался установить простое соединение:

И я всегда получаю это:

Ошибка: 2002 — Нет такого файла или каталога

О каком файле или каталоге может идти речь?

Я использую OS X Snow Leopard, использую встроенный Apache. Я установил MySQL с помощью dmg x86_64.

ОБНОВЛЕНИЕ: я обнаружил, что сокет находится в /tmp/mysql.sock, поэтому в php.ini я заменил им все вхождения неправильного пути.

Если вы используете Linux: неверный путь к файлу mysql.sock. Обычно это происходит потому, что вы используете (LAMPP) XAMPP, а его нет в /tmp/mysql.sock

Откройте файл php.ini и найдите эту строку:

У меня была аналогичная проблема, и я смог ее решить, обратившись к моему mysql с помощью 127.0.0.1 вместо localhost .

Это, вероятно, означает, что у меня что-то не так с настройкой хоста, но это быстрое исправление меня прямо сейчас.

Это для Mac OS X с собственной установкой Apache HTTP и выборочной установкой MySQL .

Ответ основан на отличном ответе @ alec-gorge, но, поскольку мне пришлось внести в Google некоторые конкретные изменения, чтобы настроить его в моей конфигурации, в основном для Mac OS X, я подумал, что добавлю его сюда для полноты картины.

Включить поддержку PHP5 для Apache HTTP

Убедитесь, что поддержка PHP5 включена в /etc/apache2/httpd.conf .

Отредактируйте файл sudo vi /etc/apache2/httpd.conf (введите пароль, когда его спросят) и раскомментируйте (удалите ; с начала) строку, чтобы загрузить модуль php5_module .

Запустите Apache HTTP с помощью sudo apachectl start (или, restart если он уже запущен и его нужно перезапустить, чтобы перечитать файл конфигурации).

Убедитесь, что он /var/log/apache2/error_log содержит строку, которая сообщает вам, что php5_module включен — вы должны увидеть PHP/5.3.15 (или подобное).

Поиск имени файла сокета

Когда MySQL запущен и работает (с ./bin/mysqld_safe ), на консоль должны быть выведены строки отладки, которые сообщают вам, где вы можете найти файлы журнала. Обратите внимание на имя хоста в имени файла — localhost в моем случае — оно может отличаться для вашей конфигурации.

Файл, который идет после Logging to , важен. Вот где MySQL регистрирует свою работу.

Откройте localhost.err файл (опять же, ваш может называться по-другому), т.е. tail -1 /Users/jacek/apps/mysql/data/localhost.err узнать имя файла сокета — оно должно быть последней строкой.

Обратите внимание на socket: часть — это файл сокета, который вы должны использовать php.ini .

Есть другой способ (некоторые говорят, что это более простой способ) определить местоположение имени файла сокета, войдя в MySQL и запустив:

Настройка PHP5 с поддержкой MySQL — /etc/php.ini

Кстати о php.ini .

В /etc каталоге есть файл /etc/php.ini.default . Скопируйте его в /etc/php.ini .

Откройте /etc/php.ini и найдите mysql.default_socket .

По умолчанию mysql.default_socket — /var/mysql/mysql.sock . Вы должны изменить его на значение, которое вы отметили ранее — это было /tmp/mysql.sock в моем случае.

Замените /etc/php.ini файл, чтобы он отражал имя файла сокета:

Окончательная проверка

Перезапустите Apache HTTP.

Проверьте журналы, нет ли ошибок, связанных с PHP5. Отсутствие ошибок означает, что все готово, и PHP5 с MySQL должен работать нормально. Поздравляю!

Помогла замена localhost на 127.0.0.1 в файле конфигурации (подключение к базе данных)!

Может помочь перезапуск сервера mysql. В моем случае перезапуск сервера сэкономил много времени.

PS — использовать sudo service mysql restart для некорневого пользователя.

Во-первых, убедитесь, что MySQL работает. Команда: mysqld start

Если вы по-прежнему не можете подключиться, то: Как выглядит ваш /etc/my.cnf? (или /etc/msyql/my.cnf)

Остальные 2 сообщения верны в том, что вам нужно проверить свой сокет, потому что 2002 — это ошибка сокета.

Не то чтобы это вам сильно помогло, но в последних версиях (и даже менее свежих ) MySQL код ошибки 2002 означает «Невозможно подключиться к локальному серверу MySQL через сокет [имя-сокета]», так что это может сказать вам еще немного.

Расширяя ответ Матиаса Д здесь, я смог разрешить эту ошибку 2002 года как в MySQL, так и в MariaDB с точными путями, используя следующие команды:

Сначала получите фактический путь к сокету MySQL:

Затем получите путь PHP :

Используя вывод этих двух команд , свяжите их:

Если это вернется, No such file or directory вам просто нужно создать путь к PHP mysql.sock, например, если ваш путь был, /var/mysql/mysql.sock вы бы запустили:

Затем попробуйте снова выполнить команду sudo ln .

Я бы проверил ваш файл php.ini и убедился, что mysql.default_socket установлен правильно, а также проверил, что ваш mysqld правильно настроен с файлом сокета, к которому он может получить доступ. Типичное значение по умолчанию — «/tmp/mysql.sock».

Я тоже столкнулся с этой проблемой, затем я изменил localhost на 127.0.0.1, он работает.

в моем случае у меня проблема с mysqli_connect.
когда я хочу подключиться,
mysqli_connect(‘localhost’, ‘myuser’,’mypassword’)
mysqli_connect_error () возвращает мне эту ошибку «Нет такого файла или каталога»

это сработало для меня mysqli_connect(‘localhost:3306’, ‘myuser’,’mypassword’)

Ошибка 2002 означает, что MySQL не может подключиться к локальному серверу базы данных через файл сокета (например /tmp/mysql.sock ).

Чтобы узнать, где находится ваш файл сокета, запустите:

затем дважды проверьте, что ваше приложение использует правильный файл сокета Unix или вместо этого подключается через порт TCP / IP.

Затем дважды проверьте, правильно ли настроен ваш PHP-сокет MySQL:

и убедитесь, что этот файл существует .

Если сокет Unix неправильный или не существует, вы можете создать символическую ссылку на него, например:

или исправьте свой файл конфигурации (например php.ini ).

Чтобы проверить соединение PDO непосредственно из PHP, вы можете запустить:

Также проверьте конфигурацию между Apache и CLI (интерфейс командной строки), поскольку конфигурация может отличаться.

Возможно, сервер запущен, но вы пытаетесь подключиться, используя порт TCP / IP, именованный канал или файл сокета Unix, отличный от того, который прослушивает сервер. Чтобы исправить это, вам нужно вызвать клиентскую программу (например, указав —port параметр), чтобы указать правильный номер порта, или правильный именованный канал, или файл сокета Unix (например, —socket параметр).

Другие утилиты / команды, которые могут помочь отследить проблему:

Источник

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Ошибка 2002 quicktime
  • Ошибка 2003 itunes при восстановлении айфона
  • Ошибка 2004 мерседес
  • Ошибка 20013 симс фриплей

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии