поддержка 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 брандмауэром или любой другой службой блокировки портов.
Не удаётся подключиться к серверу 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 в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.
Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.
Слишком много подключений
Недостаточно памяти
Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.
Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:
Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.
MySQL продолжает «падать»
Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.
Вы можете проверить состояние сервера, чтобы определить, как долго он работал.
Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:
Заключение
Самое важное при диагностике — понять, что именно вызвало ошибку. Следующие шаги помогут вам в этом:
Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.
Перейти к регистрации
Исправьте установку PHP, в которой отсутствует ошибка расширения MySQL
Одна из распространенных ошибок, возникающих при установке WordPress на новый VPS, заключается в том, что в вашей установке PHP отсутствует ошибка расширения MySQL. Эта ошибка возникает, когда расширение MySQL не существует на VPS. По умолчанию у многих операторов нет этого расширения.
Если вы столкнулись с этой ошибкой во время работы над своим сайтом WordPress, вам не о чем беспокоиться. У этой ошибки много других причин. Многие пользователи WordPress сталкиваются с этой проблемой.
В этой статье мы обсудим 5 простых способов исправить эту ошибку. Выполнив следующие действия, вы можете исправить ошибку «В вашей установке PHP отсутствует расширение MySQL».
В нашей предыдущей статье мы обсуждали, как увеличить память PHP в WordPress.
Как исправить ошибку “Появляется ваша установка PHP…”
Как упоминалось выше, в этой статье мы представляем 5 методов исправления вашей установки PHP, в которой отсутствует ошибка расширения MySQL.
1. Проверьте и установите расширение PHP MySQL.
По умолчанию расширение PHP MySQL не существует для большинства системных операторов. PHP использует этот модуль для отправки команд SQL и получения их от MySQL.
Чтобы установить расширение PHP MySQL, вам необходимо создать файл info.php.
Для этого вам необходимо скачать Notepad ++ и запустить его. Скопируйте и вставьте приведенный ниже код и сохраните файл как info.php:
Загрузите сохраненный файл в корневой каталог.
Перейдите в службу поддержки MySQL. Если у вас установлен MySQL, его версия отображается рядом с версией Client API. Если вы не установили MySQL, выполните следующие действия:
Установите PHP MySQL на серверы, совместимые с RedHat или Ubuntu
В зависимости от вашей версии PHP выполните следующие команды. Помните, что приведенные ниже команды работают, только если ваш сервер совместим с RedHat.
Запустите Apache или PHP-FPM.
Чтобы исправить вашу установку PHP, похоже, отсутствует ошибка расширения MySQL на серверах Ubuntu, выполните следующие команды. Команды различны для каждой версии PHP:
Перезапустите сервер и проверьте, исчезла ли ошибка.
2. Просмотрите конфигурацию каталога расширений MySQL.
Иногда, выполнив шаги, упомянутые выше, вы по-прежнему получаете сообщение о том, что в вашей установке PHP отсутствует ошибка расширения MySQL. Эта ошибка может произойти, если ваш каталог расширений MySQL имеет неправильную конфигурацию. Это происходит, когда вы переносите свой сайт WordPress или используете новый VPS. Чтобы решить эту проблему, вам нужно проверить «extension_dir» в вашем файле PHP.ini.
Откройте файл info.php, созданный на предыдущем шаге. Найдите параметр «Загруженный файл конфигурации» и скопируйте его значение. Например:
Теперь проверьте раздел «extension_dir». Убедитесь, что расширение PHP не пустое или у него правильный путь. Например:
Сравните параметры «Загруженный файл конфигурации» и «extension_dir» друг с другом. Если ваше значение «extension_dir» отличается от пути к вашей версии PHP, обязательно исправьте его. Для этого введите правильный путь в вашем файле PHP.ini.
3. Убедитесь, что файлы MySQL.so и MySQL.DLL существуют.
Файл PHP.ini настроен на некоторых веб-сайтах. Этот файл не будет обновляться при обновлении PHP или переносе сервера. С другой стороны, в таких файлах, как PHP.ini, вы можете неправильно написать пути к каталогам расширений.
Лучшее решение этой проблемы – удалить строки ниже или преобразовать их в комментарии в файле PHP.ini:
4. Проверьте пакеты php-mysqlnd-ms на серверах Ubuntu.
В вашей установке PHP отсутствует ошибка расширения MySQL, которая также возникает в новых версиях системного оператора Ubuntu. Потому что Ubuntu использует локальные диски MySQL вместо старой библиотеки PHP. Установка пакета php5-mysqlnd-ms может исправить эту ошибку. Для этого выполните следующую команду:
Чтобы проверить наличие всех пакетов, содержащих MySQL, выполните следующую команду:
5. Проверьте конфигурацию PHP в suPHP_CinfigPath.
Персонализированные файлы PHP загружаются с помощью suPHP_CinfigPath. Однако эта возможность доступна для серверов с включенным suPHP.
Проверьте значения в PHP.ini и исправьте их.
Вывод
В этой статье мы обсудили, что в вашей установке PHP отсутствует ошибка расширения MySQL.
Помощь
Вход в личный кабинет
Регистрация клиента
Сообщить об ошибке
Возможные проблемы с MySQL
Пароль к серверу баз данных утерян
В случае утери пароля создайте новый, выполнив следующие команды.
Остановите MySQL командой:
Выполните запуск MySQL без учета прав доступа командой:
Зайдите пользователем root командой:
Перезагрузите сервер баз данных с учетом прав доступа командой:
Выполните вход на MySQL сервер с новым паролем:
Как просмотреть перечень ошибок MySQL сервера?
Для получения списка ошибок сервера баз данных просмотрите его лог-файлы. Для каждой ОС и файловой системы они располагаются в разных местах. Чтобы определить, где находятся лог-файлы MySQL на вашем сервере, подключитесь к серверу через консоль (например, Putty) и выполните команду, которая найдет файл my.cnf:
Результатом выполнения этой команды будут пути, по которым находится файл с этим именем.
Откройте любым редактором, например vi, найденный файл и найдите строки, начинающиеся с “log” или “log-error”
Откройте редактором лог-файл по найденному пути и просмотрите ошибки.
Если в файле my.cnf нет строк, указывающих на лог-файлы, это значит, что контроль ошибок (логирование) не включен. Включите эту функцию, добавив в my.cnf строку:
Создайте его и наделите привилегиями командами:
При необходимости просмотр лог-файла можно запустить в фоновом режиме, чтобы параллельно запускать другие директивы. Для этого выполните команду:
Возможные ошибки в лог-файле и их решение
В лог-файле или в браузере выдается ошибка:
Сообщение говорит о том, что в одной из баз данных появилась поврежденная таблица, которую можно восстановить. Для этого подключитесь через консоль к серверу и выполните команду проверки всех таблиц на целостность:
В случае ошибки запустите несколько команд:
Если вы знаете, какая именно база данных повреждена, выполните команду:
Возникает ошибка вида:
Сообщение говорит о том, что запрещен доступ для пользователя user_xxx к базе данных или какой-то ее таблице.
Проверьте, что указанные данные в полях «Имя пользователя» и «Пароль» соответствуют тем, которые находятся в настройках сайта для подключения к этой БД.
На сайте возникает ошибка вида «Не удалось подключиться к базе данных»
Варианты сообщения об ошибке в случае неудачи при подключении к базе данных могут быть следующими:
Если проблема не исчезла, то подключитесь к серверу через консоль и перезапустите MySQL командой:
Проверьте, что сервер корректно запустился, выполнив команду, которая выводит список процессов MySQL:
Если в результате не вывелось ни одного процесса, то MySQL не запустился.
Не удается запустить MySQL
Попробуйте запустить MySQL через панель управления ISPmanager. Если не получилось, то подключитесь к серверу по SSH и попробуйте запустить MySQL через консоль командой:
Если MySQL не запускается через консоль, вы получите сообщение об ошибке вида:
Проверьте свободное место на диске командой
выведет, сколько места занимает каждая директория.
Если свободного места осталось мало, освободите его, очистив в первую очередь лог-файлы MySQL и других служб.
Перезапустите MySQL через консоль командами, приведенными выше.
Если проблема сохранилась, внимательно изучите записи в лог-файле MySQL, начинающиеся с [ERROR]. Например, запись Error while setting value ‘—read_buffer_size=256K’ to ‘sort_buffer_size’ означает, что директива sort_buffer_size в конфигурационном файле MySQL, прописана не верно.
Как устранить ошибку установки соединения с базой данных WordPress
WordPress – одна из популярнейших открытых систем управления контентом. Изначально платформа WordPress разрабатывалась для блогов, однако со временем она стала более гибкой и производительной, и теперь подходит для обслуживания практически любого сайта. WordPress разрабатывается почти 15 лет; сегодня это очень надёжная и ошибкоустойчивая система, однако и в ней иногда случаются сбои и ошибки.
Ошибка установки соединения с базой данных (Error Establishing Database Connection) – одна из самых распространённых ошибок WordPress. Обычно её вызывает:
В этом руководстве вы узнаете, как определить причину ошибки установки соединения с БД и исправить её.
Требования
1: Проверка памяти сервера
Для начала нужно убедиться, что MySQL работает, и что на сервере достаточно памяти для обработки данных WordPress.
Подключитесь к серверу по SSH:
Примечание: Если вы уверены, что правильно указали учётные данные, но у вас по-прежнему возникают проблемы при входе в систему, возможно, на сервере не хватает памяти или он не справляется с большой нагрузкой. Это случается из-за неожиданного роста трафика, и этим можно объяснить ошибку WordPress. Попробуйте перезагрузить сервер и подключиться снова.
Подключившись к серверу, убедитесь, что MySQL работает:
Команда netstat выводит информацию о сетевой системе сервера. Приведённая выше команда выведет имена программ, которые прослушивают соединения на сокете tcp (флаги –p, –l и –t соответственно). В выводе найдите mysqld:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:mysql *:* LISTEN 1958/mysqld
tcp 0 0 *:ssh *:* LISTEN 2205/sshd
tcp 0 0 localhost:smtp *:* LISTEN 2361/master
tcp6 0 0 [::]:http [::]:* LISTEN 16091/apache2
tcp6 0 0 [::]:ssh [::]:* LISTEN 2205/sshd
tcp6 0 0 ip6-localhost:smtp [::]:* LISTEN 2361/master
Если такая программа есть в выводе команды, значит, сервер MySQL запущен и прослушивает соединения. Если вы не нашли MySQL в списке, попробуйте запустить сервер вручную. Обычно для этого используется команда:
sudo systemctl start mysql
Примечание: В некоторых дистрибутивах Linux (например, в CentOS) используется mysqld вместо mysql.
Сервер MySQL должен запуститься. Чтобы убедиться в этом, снова запустите netstat и найдите в выводе строку mysqld.
Для корректной работы MySQL и WordPress нужно довольно много памяти. Сервер MySQL может прекратить работу из-за нехватки памяти. Чтобы убедиться, что ошибка произошла по этой причине, проверьте логи ошибок MySQL.
2017-04-11T17:38:22.604644Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
Если вы видите на экране такую строку (или несколько таких строк), значит, причина ошибки подключения к БД в нехватке памяти для работы MySQL. Возможно, это произошло из-за резкого роста трафика. Если в выводе много таких строк, значит, сервер сталкивается с нехваткой памяти регулярно. В таком случае рекомендуется переместить ресурс на сервер с большим объёмом памяти. Большинство провайдеров облачного хостинга позволяют просто обновить свой сервер с минимальным временем простоя.
Если команда zgrep не вернула ничего, памяти на сервер достаточно для обработки данных WordPress и MySQL. Если ошибка установки соединения с БД не исчезла, нужно проверить настройки WordPress и убедиться, что в них указаны правильные данные о MySQL.
2: Проверка учётных данных MySQL
Если вы недавно переместили установку WordPress на новый сервер (или сменили хостинг-провайдера), вам нужно обновить информацию о БД в настройках WordPress. Они хранятся в PHP-файле wp-config.php.
Команда выполнит поиск в root-каталоге и найдёт все файлы wp-config.php. Если такой файл существует, команда выведет путь к нему:
Откройте его в текстовом редакторе:
sudo nano /var/www/html/wp-config.php
Этот файл содержит много переменных и комментариев к ним. В начале файла можно найти строки, отвечающие за настройки БД:
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘database_name’);
/** MySQL database username */
define(‘DB_USER’, ‘database_username’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘database_password’);
Убедитесь, что эти три переменные содержат правильные данные. Если здесь указаны неправильные значения, откорректируйте их, а затем сохраните и закройте файл (CTRL-O, CTRL-X). Даже если теперь в файле указана валидная информация о БД, стоит попробовать подключиться к базе данных из командной строки, чтобы убедиться, что ошибка исчезла. Скопируйте из конфигурационного файла и вставьте данные в следующую команду:
Команда запросит пароль. Вставьте пароль и нажмите Enter. Если вы при этом получили ошибку Access denied, значит, вы указали неправильное имя пользователя или пароль.
Если учётные данные введены правильно, вы увидите на экране список баз данных, к которым есть доступ у текущего пользователя.
Убедитесь, что в этом списке есть БД, указанная в конфигурации WordPress. Перезапустите сайт и убедитесь, что ошибка подключения к БД исчезла.
Если исправить ошибку не удалось, попробуйте восстановить БД.
3: Восстановление базы данных WordPress
Иногда база данных WordPress может быть повреждена во время неудачного обновления, сбоя базы данных или из-за неправильного плагина. Эта проблема может отображаться как ошибка установки соединения с базой данных. Если проблему не удалось устранить с помощью предыдущих методов, попробуйте восстановить базу данных.
WordPress предоставляет встроенную утилиту для восстановления БД. По умолчанию она отключена (поскольку к ней нельзя ограничить доступ, а значит, она представляет угрозу безопасности сервера).
sudo nano /var/www/html/wp-config.php
Вставьте в файл такую строку:
Эта строка включает функцию восстановления БД.
Сохраните и закройте файл.
Откройте браузер и перейдите по следующему адресу:
Примечание: Вместо www.example.com укажите свой домен или IP.
На экране появится страница восстановления базы данных:
WordPress can automatically look for some common database problems and repair them. Repairing can take a while, so please be patient. […]
Нажмите кнопку Repair Database. На экране появится страница с результатами, где вы сможете отслеживать проверку и исправления в реальном времени.
После этого снова откройте файл wp-config.php и удалите из него строку, которая включает поддержку утилиты восстановления БД.
Проверьте работу сайта. Если WordPress обнаружил в БД ошибки, которые не удалось исправить, попробуйте восстановить БД из резервной копии.
Если утилита WordPress не обнаружила проблем с базой данных, значит, БД также не является источником ошибки соединения. Возможно, это какая-то временная ошибка.
В большинстве случаев ошибку установки соединения можно устранить при помощи предложенных выше методов. Однако иногда источником ошибки являются атаки или нехватка серверных ресурсов.
Часто источником повышенного трафика (а также низкой производительности и ошибок) являются brute-force атаки. Чтобы узнать, как смягчить атаки WordPress, читайте статью Защита WordPress от взлома XML-RPC в Ubuntu 14.04.
Чтобы сэкономить ресурсы сервера, настройте кэширование WordPress. Полезные инструкции вы найдёте в руководстве Настройка кэширования Redis для ускорения WordPress.