MariaDB: ОШИБКА 2002 (HY000): Не удается подключиться к локальному серверу MySQL через сокет ‘/var/run/mysqld/mysqld.sock’ (2)

Вопрос или проблема

Основная цель

Я пытаюсь установить локальную версию Prestashop на свой ubuntu server 20.04, следуя этим шагам.

Проблема

В настоящее время я пытаюсь установить MariaDB (Шаг 5 руководства), и после попытки выполнить команду sudo mysql_secure_installation терминал возвращает:

NOTE: РЕКОМЕНДУЕТСЯ ЗАПУСКАТЬ ВСЕ ЧАСТИ ЭТОГО СКРИПТА ДЛЯ ВСЕХ СЕРВЕРОВ MariaDB
      В ПРОИЗВОДСТВЕ!  ПОЖАЛУЙСТА, ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ!

Чтобы войти в MariaDB и обезопасить его, нам нужен текущий
пароль для пользователя root.  Если вы только что установили MariaDB, и
вы еще не установили пароль root, то пароль будет пустым,
поэтому просто нажмите Enter здесь.

Введите текущий пароль для root (введите для отсутствия): 

После ввода пароля:

ERROR 2002 (HY000): Невозможно подключиться к локальному MySQL серверу через сокет '/var/run/mysqld/mysqld.sock' (2)

Что я пробовал

Я пытался поискать и проверить свои сокеты с помощью sudo find / -type s и узнал, что папки /var/lib/mysql не существует.

Вывод команды sudo find / -type s:

/var/lib/samba/private/msg.sock/995
/var/lib/samba/private/msg.sock/1018
/var/lib/samba/private/msg.sock/1140
/var/lib/samba/private/msg.sock/978
/var/lib/samba/private/msg.sock/774
/var/lib/samba/private/msg.sock/1173
/var/lib/samba/private/msg.sock/1002
/var/lib/samba/private/msg.sock/954
/var/lib/samba/private/msg.sock/1139
/var/lib/samba/private/msg.sock/1211
/var/lib/samba/private/msg.sock/1312
/var/lib/samba/private/msg.sock/1186
/var/lib/samba/private/msg.sock/959
/var/lib/samba/private/msg.sock/937
/var/lib/samba/private/msg.sock/1161
/var/lib/samba/private/msg.sock/1225
/var/lib/samba/private/msg.sock/1009
/var/lib/samba/private/msg.sock/1160
/var/lib/samba/private/msg.sock/19992
/var/lib/samba/private/msg.sock/19790
/var/lib/samba/private/msg.sock/1322
/var/lib/samba/private/msg.sock/1254
/var/lib/samba/private/msg.sock/19755
/var/lib/samba/private/msg.sock/19789
/var/lib/samba/private/msg.sock/20005
/var/lib/samba/private/msg.sock/770
/var/lib/samba/private/msg.sock/26712
/var/lib/samba/private/msg.sock/702
/var/lib/samba/private/msg.sock/1227
/var/lib/samba/private/msg.sock/1200
/var/lib/samba/private/msg.sock/1291
/var/lib/samba/winbindd_privileged/pipe
/var/spool/postfix/private/local
/var/spool/postfix/private/proxymap
/var/spool/postfix/private/trace
/var/spool/postfix/private/error
/var/spool/postfix/private/lmtp
/var/spool/postfix/private/relay
/var/spool/postfix/private/anvil
/var/spool/postfix/private/maildrop
/var/spool/postfix/private/verify
/var/spool/postfix/private/mailman
/var/spool/postfix/private/bounce
/var/spool/postfix/private/smtp
/var/spool/postfix/private/defer
/var/spool/postfix/private/virtual
/var/spool/postfix/private/discard
/var/spool/postfix/private/bsmtp
/var/spool/postfix/private/tlsmgr
/var/spool/postfix/private/rewrite
/var/spool/postfix/private/ifmail
/var/spool/postfix/private/proxywrite
/var/spool/postfix/private/retry
/var/spool/postfix/private/scache
/var/spool/postfix/private/scalemail-backend
/var/spool/postfix/private/uucp
/var/spool/postfix/public/postlog
/var/spool/postfix/public/showq
/var/spool/postfix/public/cleanup
/var/spool/postfix/public/flush
/var/spool/postfix/public/qmgr
/var/spool/postfix/public/pickup
/var/spool/postfix/dev/log
/var/snap/lxd/common/lxd/unix.socket
/run/php/php7.2-fpm.sock
/run/dovecot/master
/run/dovecot/anvil-auth-penalty
/run/dovecot/anvil
/run/dovecot/auth-worker
/run/dovecot/auth-master
/run/dovecot/auth-userdb
/run/dovecot/auth-client
/run/dovecot/auth-login
/run/dovecot/config
/run/dovecot/dict-async
/run/dovecot/dict
/run/dovecot/director-userdb
/run/dovecot/director-admin
/run/dovecot/dns-client
/run/dovecot/doveadm-server
/run/dovecot/imap-hibernate
/run/dovecot/imap-urlauth
/run/dovecot/imap-urlauth-worker
/run/dovecot/imap-master
/run/dovecot/indexer
/run/dovecot/indexer-worker
/run/dovecot/ipc
/run/dovecot/log-errors
/run/dovecot/old-stats
/run/dovecot/replication-notify
/run/dovecot/replicator
/run/dovecot/stats-writer
/run/dovecot/stats-reader
/run/dovecot/token-login/tokenlogin
/run/dovecot/token-login/imap-urlauth
/run/dovecot/login/login
/run/dovecot/login/imap
/run/dovecot/login/ipc-proxy
/run/dovecot/login/pop3
/run/irqbalance/irqbalance767.sock
/run/uuidd/request
/run/snapd-snap.socket
/run/snapd.socket
/run/dbus/system_bus_socket
/run/user/1000/snapd-session-agent.socket
/run/user/1000/pk-debconf-socket
/run/user/1000/gnupg/S.gpg-agent
/run/user/1000/gnupg/S.gpg-agent.ssh
/run/user/1000/gnupg/S.gpg-agent.extra
/run/user/1000/gnupg/S.gpg-agent.browser
/run/user/1000/gnupg/S.dirmngr
/run/user/1000/bus
/run/user/1000/systemd/private
/run/user/1000/systemd/notify
/run/user/1000/inaccessible/sock
/run/samba/winbindd/pipe
/run/samba/nmbd/unexpected
/run/postgresql/.s.PGSQL.5432
/run/lvm/lvmpolld.socket
/run/systemd/journal/io.systemd.journal
/run/systemd/journal/socket
/run/systemd/journal/stdout
/run/systemd/journal/dev-log
/run/systemd/journal/syslog
/run/systemd/userdb/io.systemd.DynamicUser
/run/systemd/private
/run/systemd/notify
/run/systemd/inaccessible/sock
/run/udev/control

Редактировать

  1. Я попытался выполнить mkdir /var/lib/mysql, и странно, но вывод такой:
mkdir: не удается создать каталог ‘/var/lib/mysql’: Файл существует
  1. Я пытался запустить MariaDB с помощью systemctl start mariadb, и вывод такой:
Работа для mariadb.service завершилась неудачей, потому что управляющий процесс завершился с кодом ошибки.
Смотрите "systemctl status mariadb.service" и "journalctl -xe" для деталей.

Я проверил его статус с помощью systemctl status mariadb.service

● mariadb.service - MariaDB 10.3.22 сервер базы данных
     Загружен: загружен (/lib/systemd/system/mariadb.service; отключен; установщик поставщика>
     Активен: неудачен (Результат: код выхода) с воскресенья 2020-05-10 12:19:19 UTC; 11s >
       Документы: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Процесс: 38200 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /va>
    Процесс: 38206 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_S>
    Процесс: 38215 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] &&>
    Процесс: 38264 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER >
   Основной PID: 38264 (код=завершен, статус=1/НЕУДАЧА)

May 10 12:19:18 chale-server systemd[1]: Запуск сервера базы данных MariaDB 10.3.22>
May 10 12:19:18 chale-server mysqld[38264]: 2020-05-10 12:19:18 0 [Note] /usr/s>
May 10 12:19:19 chale-server systemd[1]: mariadb.service: основной процесс завершился, >
May 10 12:19:19 chale-server systemd[1]: mariadb.service: Не удалось с результатом 'e>
May 10 12:19:19 chale-server systemd[1]: Не удалось запустить сервер базы данных MariaDB 10.3.22>

и вывод journalctl -xe такой:

May 10 12:19:19 chale-server systemd[1]: mariadb.service: основной процесс завершился, >
-- Тема: Процесс юнита завершился
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
-- 
-- Процесс ExecStart=, относящийся к юниту mariadb.service, завершился.
-- 
-- Код выхода процесса 'exited', а его статус выхода 1.
May 10 12:19:19 chale-server systemd[1]: mariadb.service: Не удалось с результатом 'e>
-- Тема: Юнит не удался
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
-- 
-- Юнит mariadb.service вошел в состояние 'неудачно' с результатом 'код выхода>
May 10 12:19:19 chale-server systemd[1]: Не удалось запустить сервер базы данных MariaDB 10.3.22>
-- Тема: Задача запуска для юнита mariadb.service провалилась
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
-- 
-- Задача запуска для юнита mariadb.service завершилась с ошибкой.
-- 
-- Идентификатор задачи 6206, а результат задачи неудача.
May 10 12:19:19 chale-server polkitd(авторитет=local)[859]: Отмененный Authen>

Дополнительная информация

Я не уверен, следует ли упоминать, что я запускаю сервер через ssh соединение, используя свой макбук…

Выполните systemctl start mariadb, затем попробуйте снова. Похоже, что MariaDB никогда не запускался.

Ответ или решение

Ошибка MariaDB: ERROR 2002 (HY000)

Вы столкнулись с ошибкой ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2), что указывает на проблему с подключением к серверу MariaDB на вашем локальном сервере Ubuntu 20.04. Давайте рассмотрим возможные причины этой проблемы и шаги по её устранению.

Причины ошибки

  1. Сервер MariaDB не запущен: Сообщение об ошибке может означать, что MariaDB не запущен или работает некорректно. Это наиболее распространённая причина.
  2. Отсутствие файла сокета: Если сервер не запущен, соответствующий файл сокета /var/run/mysqld/mysqld.sock не будет создан, что и вызывает эту ошибку.
  3. Неправильные настройки конфигурации: Конфигурационный файл MariaDB может быть неправильно настроен, что также может препятствовать запуску сервера.
  4. Проблемы с правами доступа: Отсутствие необходимых прав для создания или доступа к папкам, где хранятся данные MariaDB.

Шаги по устранению проблемы

  1. Проверьте статус службы MariaDB:
    Запустите следующую команду, чтобы проверить статус службы MariaDB:

    systemctl status mariadb.service

    Если вы увидите, что служба не активна (failed), выполните следующую команду для получения более подробной информации:

    journalctl -xe
  2. Запустите MariaDB:
    Попробуйте запустить сервер MariaDB с помощью команды:

    sudo systemctl start mariadb

    После этого снова проверьте статус службы, чтобы убедиться, что она запущена.

  3. Проверьте логи MariaDB:
    Если служба не запускается, проверьте файлы журналов MariaDB, которые могут дать дополнительную информацию о причине сбоя. Логи обычно находятся по пути /var/log/mysql/error.log или /var/log/mariadb/mariadb.log.

  4. Создайте файл сокета:
    Если у вас нет файла сокета, попробуйте создать необходимые каталоги и установить соответствующие права:

    sudo mkdir -p /var/run/mysqld
    sudo chown mysql:mysql /var/run/mysqld

    Затем попробуйте снова запустить MariaDB.

  5. Настройка конфигурационного файла (если необходимо):
    Если вы внесли изменения в конфигурацию MariaDB, убедитесь, что в файле конфигурации, обычно находящемся в /etc/mysql/my.cnf, правильно указаны пути к файлам и каталогам.

  6. Переустановка MariaDB (если другие методы не работают):
    Если ничего не помогает, рассмотрите возможность переустановки MariaDB. Для этого выполните следующие команды:

    sudo apt-get remove --purge mariadb-server
    sudo apt-get install mariadb-server

    После переустановки повторите шаги по настройке и запуску MariaDB.

Заключение

Следуйте вышеописанным шагам для диагностики и решения проблемы с соединением к серверу MariaDB. В большинстве случаев ошибка ERROR 2002 (HY000) возникает из-за того, что сервер не запущен. Если вы выполните все указанные действия и проблема останется нерешенной, обратитесь к документации или сообществам пользователей MariaDB для получения дополнительной помощи.

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

Капча загружается...