Как узнать имя базы данных mysql для блога на wordpress?

Статистика HAProxy

Помимо развертывания и управления, ClusterControl также дает возможность просматривать статистику HAProxy из пользовательского интерфейса в разделе ClusterControl > Nodes > choose the HAProxy node, как на снимке ниже:

Можно включить/отключить сервер от балансировки нагрузки, отметив/сняв галочку с кнопки-флажка в столбце «Включено». Это очень полезно, когда нужно, чтобы приложение преднамеренно пропустило подключение к серверу, например, для проведения технического обслуживания или тестирования и проверки новых параметров конфигурации или оптимизированных запросов.

Также можно получить доступ к оригинальной странице статистики HAProxy, подключившись к порту 9600 на узле HAProxy:

Как видно из легенды таблицы, зеленые строки указывают на то, какие серверы доступны, а красные — какие недоступны. Когда сервер становится доступным, справа появляется столбец регулирования (Thrtle), в котором отражается прогресс запуска (slowstart 60s). Этот сервер будет постепенно получать соединения, его вес будет динамически регулироваться в течение 60 секунд, пока не достигнет ожидаемого значения (weight 100):

SHOW

Эта команда предназначена для просмотра доступных баз данных и таблиц в конкретных базах данных. Для просмотра списка баз данных необходимо ввести такую команду:

SHOW DATABASES;

Если, например, существуют две базы данных — mysql и test (эти две базы как правило создаются автоматически при инсталляции сервера), то MySQL ответит примерно так:

+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+

Для просмотра списка таблиц используется эта же команда в таком виде:

SHOW TABLES;

Эта команда выдаст список таблиц в текущей базе данных:

+-----------------+
| Tables in mysql |
+-----------------+
| test            |
| mysql           |
+-----------------+

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

Сброс пароля с помощью skip-grant-tables

Кроме того, есть и другой способ сбросить пароль MySQL. Мы можем запустить сервис с параметром —skip-grant-tables. В этом режиме программа пропускает загрузку данных о пользователях и тогда вы можете авторизоваться без ввода пароля. Аналогично, сначала нужно остановить сервис:

Затем запустите mysql вручную с помощью такой команды:

Войдите в консоль управления mysql:

Так как мы загрузились без таблиц привелегий пользователей, то эти таблицы необходимо подгрузить сейчас:

Теперь можно сменить пароль для пользователя root:

Затем закройте консоль клиента mysql:

Завершите запущенный вручную сервис, таким же образом как в предыдущем пункте:

И запустите mysql в нормальном режиме:

Дальше вы можете авторизоваться от имени суперпользователя по этому паролю:

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

Создание новой БД

Для создания новой базы данных в меню Панели управления хостингом перейдите в раздел «Базы данных» и на открывшейся странице нажмите кнопку «Создать базу данных». В форме нужно указать:

  1. Имя базы данных — имеет вид логин_имя, где логин — пользователь Панели управления, а имя — произвольный набор латинских букв и цифр. Получившееся в результате полное имя БД не может быть длиннее 32 символов.
  2. Имя пользователя — имеет вид, аналогичный имени БД, и не может быть длиннее 16 символов. Это пользователь, который имеет доступ к одной или нескольким базам данных, и у каждого пользователя есть свой пароль.
  3. Пароль пользователя — может быть задан вручную или произвольно. При выборе существующего пользователя для него можно задать новый пароль — в таком случае прежнее значение пароля перезапишется.

Заполнив поля, нажмите кнопку «Создать базу данных». Реквизиты для подключения понадобятся в конфигурационных файлах CMS или других скриптов, а также для удаленного подключения к БД посредством консоли или приложения phpMyAdmin.

Возможные ошибки

1. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

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

> SHOW VARIABLES LIKE ‘validate_password%’;

Вывод команды будет, примерно, следующим:

+—————————————+———+
| Variable_name                        | Value  |
+—————————————+———+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+—————————————+———+

* где:

  • validate_password_check_user_name — пароль не должен совпадать с именем пользователя.
  • validate_password_dictionary_file — использовать специальный файл со словарем запрещенных паролей.
  • validate_password_length — минимальная длина пароля.
  • validate_password_mixed_case_count — сколько, как минимум, должно быть символов в малой и большой раскладках.
  • validate_password_number_count — какое минимальное количество цифр использовать в пароле.
  • validate_password_policy — позволяет задать определенный набор правил. Доступны значения LOW (или 0), MEDIUM (1), STRONG (2).
  • validate_password_special_char_count — минимальное количество специальных символов (например, # или !).

Решение: 

  1. Привести пароль в соответствие требованиям политик.
  2. Отключить политику, которая не позволяет использовать желаемый пароль. Например, чтобы отключить требование использовать цифры вводим:

> SET GLOBAL validate_password_number_count = 0;

2. ERROR 1728 (HY000): Cannot load from mysql.tables_priv. The table is probably corrupted

Причина: система считает, что таблица tables_priv в базе mysql неисправна.

Решение: чаще всего, ошибка возникает при переносе баз с одного сервера в другой. Если версии СУБД разные, таблица tables_priv может работать со сбоями. Для исправления необходимо выполнить команду mysql_upgrade — она проверяет все таблицы на совместимость с текущей версией MySQL/MariaDB и вносит исправления. Применение команды:

mysql_upgrade -u root -p

Сброс пароля root в MySQL

Для доступа к базе данных MySQL или MariaDB нужно ввести имя пользователя и пароль. Во время установки автоматически создаётся учётная запись пользователя root. Это аналог суперпользователя в Linux для MySQL. Он может выполнять все действия со всеми базами данных, а также создавать и удалять других пользователей.

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

Что такое HAProxy?

HAProxy, или High Availability Proxy, является программным балансировщиком нагрузки TCP/HTTP. Он распределяет рабочую нагрузку по серверам для обеспечения максимальной производительности и оптимизации использования ресурсов. HAProxy поддерживает гибко настраиваемые методы проверки доступности, обработки отказов и восстановления после них.

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

В одном из вариантов настройки HAProxy устанавливается на каждом сервере приложений, выполняющем запросы к базе данных. Такой вариант отлично подходит при наличии нескольких серверов, что позволяет контролировать нагрузку и скрыть организацию кластера СУБД. Приложение подключается к локальному HAProxy (например, устанавив mysql-соединение на 127.0.0.1:3306) и может получить доступ ко всем серверам базы данных. Веб-сервер и HAProxy вместе образуют рабочий блок, поэтому веб-сервер не будет работать, если HAProxy недоступен.

Использование HAProxy для балансировки нагрузки дает следующие преимущества:

  • Все приложения получают доступ к кластеру через указанные IP-адреса. Внутренняя топология кластера базы данных скрывается за HAProxy.
  • Соединения MySQL распределены между доступными узлами БД.
  • Можно добавлять или удалять узлы базы данных без необходимости внесения каких-либо изменений в приложения.
  • Как только достигается максимальное количество соединений с базой данных, новые соединения ставятся в очередь. Это удобный способ ограничения количества запросов на соединение с базой данных, обеспечивающий защиту от перегрузки.

ClusterControl поддерживает развертывание HAProxy из пользовательского интерфейса, поддерживая стандартные алгоритмы балансировки, предоставляемые HAProxy:

  • Round Robin. Каждый сервер получает запросы пропорционально своему весу, при этом веса серверов могут меняться на лету.
  • Least Connection. Выбирается сервер с наименьшим количеством активных соединений.
  • Source Hash Scheduling. Сервер для соединения назначается на основе хэша IP-адреса отправителя запроса и весов серверов.

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

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

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

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

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

Как узнать настройки директорий в MySQL/MariaDB

Чтобы показать информацию о всех настройках директорий СУБД сервера, выполнит команду:

mysql -u root -p -e "SHOW VARIABLES WHERE Variable_Name LIKE '%dir'"

Пример вывода в Windows для MariaDB:

+---------------------------+---------------------------------------+
| Variable_name             | Value                                 |
+---------------------------+---------------------------------------+
| aria_sync_log_dir         | NEWFILE                               |
| basedir                   | C:\Server\bin\mariadb\                |
| character_sets_dir        | C:\Server\bin\mariadb\share\charsets\ |
| datadir                   | c:\Server\data\DB\data\               |
| innodb_data_home_dir      |                                       |
| innodb_log_group_home_dir | .\                                    |
| innodb_tmpdir             |                                       |
| lc_messages_dir           |                                       |
| plugin_dir                | C:\Server\bin\mariadb\lib\plugin\     |
| slave_load_tmpdir         | C:\Windows\TEMP                       |
| tmpdir                    | C:\Windows\TEMP                       |
+---------------------------+---------------------------------------+

Чтобы вывести только datadir выполните команду:

mysql -u root -p -e "SHOW VARIABLES WHERE Variable_Name = 'datadir'"

Устранение общих ошибок подключения клиентом HeidiSQL

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

Невозможно подключиться к серверу MySQL (Can’t connect to MySQL server)

Ошибка возникает в случает неверного указания порта MySQL. Обычно выглядит это так:

Для исправления проверьте в настройках HeidiSQL номер порта. В Hostinger его значение 3306. Вы можете связаться со своим провайдером хостинга и уточнить номер порта, поскольку это значение может отличаться на другом хостинге.

Неизвестный MySQL сервер (Unknown MySQL server host)

Эта ошибка возникает из-за неверно введённого имени MySQL сервера (имени хоста). Отображается ошибка так:

Избавиться от неё можно перепроверив верно ли значение удалённого MySQL сервера (хоста). В Hostinger вы можете найти его в разделе Внешний MySQL доступ в Панели Управления.

Доступ для этого пользователя запрещён (Access denied for user)

Эта ошибка может появляться в разных формах и иметь причину в неверно заполненных деталях подключения или отсутствии прописанного IP в разделе Внешней MySQL доступ. Вот одна из них:

Если вы увидели такую ошибку, посмотрте эти 3 шага решения:

  1. Перепроверьте верный ли IP адрес вы добавили в разделе Внешний MySQL доступ. Начните с проверки своего IP адреса, одним из удобных способов. Кроме того, динамический IP адрес может вызвать такую ошибку, потому как изменяется по прохождению некоторого периода времени.
  2. Убедитесь, что имя пользователя MySQL верное. Проверить ещё раз его можно разделе Базы Данных MySQL.
  3. Перепроверьте пароль пользователя MySQL. Сбросить его можно в разделе Базы ДанныхMySQL. Ещё один способ узнать пароль, в случае, если вы подключаетесь к базе данных WordPress, посмотреть его в файле wp-config.php. Вот руководство(англ.), в котором можно найти больше информации по этой теме.

Ошибка может выглядеть ещё и так:

Это говорит о том, что имя базы данных неверное. Проверьте ещё раз имя в разделе Базы Данных MySQL и обновите настройки своего клиента HeidiSQL. В результате, у вас не будет проблем с управлением вашей базой данных.

Шаг 1 – Включение доступа для подключения к MySQL с вашего IP адреса

Прежде всего, нужно узнать свой IP адрес любым удобным путём. Один из способов, это написать в поисковике Google какой мой IP адрес , после чего вам будет выдан список сайтов, где вы сможете узнать свой IP. Например, это выглядит так:

Далее, перейдите в раздел Внешний MySQL доступ в вашей панели управления хостингом.

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

  • Сервер/Хост – впишите внешний IP адрес.
  • База Данных – выберите базу данных MySQL, к которой вы будете подключаться.

Когда всё заполнено, нажмите Создать и вы увидите подтверждающее сообщение.

После этого, удалённое подключение к базе данных заработает через несколько секунд.

Резервирование HAProxy с помощью Keepalived

Поскольку подключение всех приложений к кластеру обслуживается через HAProxy, этот узел становится единой точкой отказа, чтобы этого избежать можно настроить два идентичных экземпляра HAProxy (один активный и один резервный) и использовать Keepalived для реализации VRRP между ними. VRRP предоставляет активному серверу HAProxy виртуальный IP-адрес и в случае сбоя передает его резервному серверу.

При добавлении Keepalived в схему инфраструктура будет выглядеть примерно так:

В этом примере в качестве балансировщика нагрузки перед кластером базы данных используются два узла с переключением IP-адресов. Виртуальный IP-адрес (VIP) будет передаваться между HAProxy №1 (Master) и HAProxy №2 (Backup). Когда HAProxy №1 выходит из строя, VIP передается HAProxy №2, а как только HAProxy №1 снова запускается, VIP возвращается к HAProxy №1, так как он имеет более высокий приоритет. Процесс восстановления после сбоев происходит автоматически и контролируется посредством Keepalived.

Для установки Keepalived необходимо как минимум два экземпляра HAProxy. Нажмите «Install HAProxy», чтобы установить еще один экземпляр HAProxy, а затем перейдите в ClusterControl > Manage > Load Balancer > Install Keepalived, чтобы установить или добавить существующий экземпляр Keepalived, как показано на следующем снимке экрана:

Убедитесь в том, что сетевая среда поддерживает VRRP (протокол IP 112) для проверки доступности соединения между двумя узлами. Также, если установлен Keepalived версии 1.2.8 и новее, можно разрешить Keepalived работать в среде без многоадресной рассылки, настроив одноадресную рассылку. ClusterControl будет использовать данный режим по умолчанию.

Более подробно о том, как ClusterControl настраивает Keepalived, что ожидать при аварийном переключении и восстановлении после отказа, читайте в статье.

Интеграция HAProxy с ClusterControl

ClusterControl интегрирован с HAProxy для упрощения развертывания и управления балансировщиком нагрузки в сочетании с кластерным бэкендом MySQL, таким как Galera или MySQL NDB Cluster. Также можно добавить существующий/уже развернутый экземпляр HAProxy в ClusterControl, чтобы отслеживать и управлять им напрямую из пользовательского интерфейса ClusterControl.

Для настройки HAProxy перейдите в ClusterControl > Manage > Load Balancer > Install HAProxy и введите нужную информацию:

  • HAProxy Address. IP-адрес или имя узла HAProxy. ClusterControl должен иметь возможность подключаться по SSH без пароля.
  • Listen Port. Порт, который будет прослушивать экземпляр HAProxy. Этот порт будет использоваться для подключения к серверам MySQL с балансировкой нагрузки.
  • Policy. Алгоритм балансировки нагрузки. Поддерживаемые значения:

    • lessconn — соединение устанавливается с сервером с наименьшим числом соединений;
    • roundrobin — каждый сервер используется по очереди, в соответствии со своим весом;
    • source — IP-адрес клиента хэшируется и делится на общий вес, поэтому он всегда будет попадать на один и тот же сервер, пока ни один сервер не выйдет из строя или отключится.
  • Install from Package Manager. Для Redhat используется диспетчер пакетов YUM. Для Debian используется команда APT.
  • Build from Source. Будет использоваться последний доступный пакет исходных кодов:

    • ClusterControl скомпилирует последний доступный исходный пакет, загруженный с .
    • Эта опция требуется только в том случае, когда необходимо использовать последнюю версию HAProxy, или если возникли проблемы с менеджером пакетов дистрибутива ОС. В репозиториях пакетов некоторых старых версий ОС нет HAProxy .
  • Overwrite Existing on targets. Если сценарий mysqlchk уже существует, ClusterControl перепишет его. Если сценарий настроен под конкретные потребности, требуется снять этот флажок.
  • Show Advanced Settings. Дополнительные настройки:

    • Stats Socket. Расположение файла сокета UNIX для запроса статистики. По умолчанию используется , изменять его не рекомендуется.
    • Admin Port. Порт для доступа к странице статистики HAProxy. По умолчанию 9600.
    • Admin User. Пользователь с правами администратора для доступа к странице статистики.
    • Admin Password. Пароль для пользователя-администратора.
    • Backend Name. Имя обработчика для бэкенда. Без пробелов.
    • Timeout Server. Максимальное время бездействия на стороне сервера заданное в секундах.
    • Timeout Client. Максимальное время бездействия на стороне клиента заданное в секундах.
    • Max Connections Frontend. Максимальное количество одновременных подключений к HAProxy.
    • Max Connection Backend per instance. Ограничение числа подключений, которые могут быть сделаны от HAProxy к каждому серверу MySQL. Соединения, полученные после достижения этого значения, HAProxy поставит в очередь. Рекомендуется установить значение меньше, чем для MySQL, чтобы не допустить переполнения сообщениями.
    • Xinetd allow connections from. Сеть, которой разрешено подключаться к скрипту проверки доступности, выполняемому в рамках xinetd на сервере MySQL.
  • Server Instances. Список серверов MySQL в кластере.
  • Include. Включить сервер в балансировку нагрузки.
  • Role. Выберите, является ли узел активным (Active) или резервным (Backup). В режиме резервного копирования сервер будет использоваться для балансировки нагрузки, только когда все остальные активные серверы недоступны.

Когда поля в диалоговом окне заполнены, нажмите «Install HAProxy», чтобы запустить задание развертывания:

В процессе работы задания ClusterControl выполняет следующие задачи:

  • устанавливает вспомогательные пакеты,
  • настраивает балансировщик,
  • настраивает скрипт mysqlchk (из шаблона) на каждом узле Galera,
  • устанавливает и настраивает xinetd в ,
  • регистрирует узел HAProxy в ClusterControl.

Отследить прогресс развертывания можно в , как показано в примере ниже:

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

Поскольку при балансировке соединения к серверам MySQL будут открываться не с серверов приложений, а с сервера HAProxy, необходимо добавить права для тех же пользователей, которые используются приложениями, но для IP-адресов, используемых серверами HAProxy:

mysql> GRANT ALL PRIVILEGES ON mydb.* TO 'appuser'@'ha.pr.ox.yip' IDENTIFIED BY 'password';

ClusterControl автоматически перезапускает процесс HAProxy в случае сбоя.

Шаг 2 — Назначить специальные права доступа для пользователя MySQL

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

GRANT  ON . TO ‘non-root’@'localhost’;

Вам просто нужно заменить значение ‘тип прав’ на тот вид прав доступа, который вы хотите предоставить новому пользователю. Также вам нужно указать базу данных и имена таблиц, доступ к которым предоставляется. Аналогично предыдущему примеру, ‘non-root’ – это имя пользователя, то есть вы можете его заменить на нужное вам. В MySQL есть несколько типов прав доступа, некоторые из них описаны ниже:

  • CREATE — Позволяет пользователям создавать базы данных/таблицы
  • SELECT — Позволяет пользователям делать выборку данных
  • INSERT — Позволяет пользователям добавлять новые записи в таблицы
  • UPDATE — Позволяет пользователям изменять существующие записи в таблицах
  • DELETE — Позволяет пользователям удалять записи из таблиц
  • DROP — Позволяет пользователям удалять записи в базе данных/таблицах

Для использования любой из этих опций, просто замените  необходимым словом. Чтобы назначить несколько видов прав доступа, разделите их запятыми как в следующей команде. Например, мы можем назначить такие привилегии как CREATE и SELECT для нашего non-root пользователя MySQL такой командой:

GRANT CREATE, SELECT ON * . * TO 'non-root'@'localhost';

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

REVOKE  ON . FROM ‘non-root’@‘localhost’;

Например, чтобы отменить все привилегии у пользователя non-root user нужно сделать:

REVOKE ALL PRIVILEGES ON *.* FROM 'non-root'@'localhost';

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

DROP USER ‘non-root’@‘localhost’;

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

Как создать пользователей базы данных в базе данных Azure для MySQLHow to create database users in Azure Database for MySQL

  1. Получите сведения о подключении и имя пользователя администратора.Get the connection information and admin user name.
    Чтобы подключиться к серверу базы данных, вам потребуются учетные данные администратора для входа и полное имя сервера.To connect to your database server, you need the full server name and admin sign-in credentials. Вы можете легко найти данные для входа на странице Обзор сервера или на странице Свойства на портале Azure.You can easily find the server name and sign-in information from the server Overview page or the Properties page in the Azure portal.

  2. Используйте учетную запись и пароль администратора для подключения к серверу базы данных.Use the admin account and password to connect to your database server. Используйте предпочитаемый клиентский инструмент, например MySQL Workbench, mysql.exe, HeidiSQL и т. д.Use your preferred client tool, such as MySQL Workbench, mysql.exe, HeidiSQL, or others.
    Если вы не знаете, как подключиться, прочитайте раздел База данных Azure для MySQL: подключение и запрос данных с помощью MySQL Workbench.If you are unsure of how to connect, see Use MySQL Workbench to connect and query data

  3. Измените и выполните следующий код SQL.Edit and run the following SQL code. Замените значение заполнителя новым именем пользователя, а значение заполнителя — именем базы данных.Replace the placeholder value with your intended new user name, and placeholder value with your own database name.

    Этот код SQL создает базу данных testdb для примера.This sql code syntax creates a new database named testdb for example purposes. Затем он создает пользователя в службе MySQL и предоставляет ему все привилегии для новой схемы базы данных (testdb.*).Then it creates a new user in the MySQL service, and grants all privileges to the new database schema (testdb.*) for that user.

  4. Проверьте предоставление привилегий в базе данных.Verify the grants within the database.

  5. Войдите на сервер, указав эту базу данных и введя новое имя пользователя и пароль.Log in to the server, specifying the designated database, using the new user name and password. В этом примере показана командная строка MySQL.This example shows the mysql command line. После ввода этой команды вам будет предложено ввести пароль для имени пользователя.With this command, you are prompted for the password for the user name. Укажите собственные имя сервера, имя базы данных и имя пользователя.Replace your own server name, database name, and user name.

Раздела «Базы данных» нет в меню

Есть 2 возможных варианта и пути решения проблемы:

1)На сервере не запущен сервер баз данных MySQL:

  1. Проверить, активен ли сервис, вы можете в меню «Сервисы» панели ISPmanager. Попробуйте запустить или перезапустить его с помощью кнопок в панели.
  2. Если не помогло, перезапустите из консоли командой /etc/init.d/mysql restart для Ubuntu/Debian/Centos 6 или командой systemctl restart mariadb для Centos 7.

2) Проблемы с подключением к базе данных:
Откройте пункт меню «Серверы баз данных», двойным кликом откройте свойства и нажмите «OK», ничего не меняя. Это принудительно обновит информацию о MySQL в панели управления.
После этого обновите страницу — пункт «Базы данных» должен появиться.

Не подходит пароль к серверу баз данных

Случается так, что пароль root от MySQL-сервера утерян, и надо установить новый. Делается следующим образом:

Останавливаем MySQL-сервер:

В Centos 6/Debian/Ubuntu:

# service mysql stop

В Centos 7:

# systemctl stop mariadb

или

# systemctl stop mysqld

Запускаем его без проверки таблиц прав:

# mysqld_safe --skip-grant-tables &

Заходим root’ом без пароля:

# mysql -uroot

Меняем пароль:

# use mysql;

MySQL

# UPDATE user SET Password=PASSWORD("new_password") WHERE User='root';

MySQL => 5.7

# UPDATE user SET authentication_string=PASSWORD("new_password") WHERE User='root';

Продолжаем для всех версий

# FLUSH PRIVILEGES;

В Centos 6/Debian/Ubuntu:

# service mysqld restart

В Centos 7:

# systemctl restart mariadb

или

# systemctl restart mysqld

Авторизуемся как root с паролем new_password

# mysql -uroot -pnew_password

Где искать ошибки?

MySQL — свободная реляционная система управления базами данных. Поиск проблем с сервисом лучше всего начинать с изучения логов.
Для этого необходимо подключиться на сервер по ssh
Их расположение разнится в зависимости от используемой файловой системы. В конфигурационном файле my.cnf нужно искать строки log и log-error, чтобы определить, где находятся логи. Также можно воспользоваться mysql запросом:

show variables like '%log%';

Если логирование не включено, сделать это можно следующим образом:
Зайти в файл:

/etc/my.cnf   #Centos
/etc/mysql/my.cnf  #Debian

И в секцию добавить строку:

log-error=/var/log/mysql-errors.log

Выйти из файла, выполнить команды:

touch /var/log/mysql-errors.log
chown mysql:mysql /var/log/mysql*
chmod 640 /var/log/mysql*

Следующая команда включит просмотр созданного лога в режиме реального времени(tail –f) и оставить его в фоне(&) что бы можно было параллельно запускать другие команды:

tail –f /var/log/mysql-errors.log &

Вступление

HeidiSQL – программа для управления, разработки и администрирования баз данных. Вы можете использовать HeidiSQL для удалённого подключения к базе данных, созданной на Hostinger. Хотя наши тарифы хостинга предоставляют phpMyadmin для помощи в управлении базой данных, HeidiSQL предпочтительный выбор для многих разработчиков. Использование этого клиента может очень ускорить разработку. Удалённое подключение к MySQL сделанное с вашего локального компьютера позволит вам применить обновления и внести изменения быстрее, и не потребуется входить в вашу панель управления хоcтингом.

Перед началом проверьте, что у вас есть:

  1. Программа HeidiSQL
  2. Удалённое подключение к MySQL для вашего IP адреса
  3. Данные доступа к базе данных MySQL

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

Заключение

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

Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге . Вы можете использовать утилиты командной строки вроде для чтения файлов журнала.
Если служба MySQL не запускается, проверьте её состояние с помощью . Или используйте команду (с флагом ) в systemd.
Вы также можете проверить файл системного журнала (например, ) на предмет обнаружения ошибок.
Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину

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

Ссылка на основную публикацию