Вопрос или проблема
Основная цель
Я пытаюсь установить локальную версию 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
Редактировать
- Я попытался выполнить
mkdir /var/lib/mysql
, и странно, но вывод такой:
mkdir: не удается создать каталог ‘/var/lib/mysql’: Файл существует
- Я пытался запустить 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. Давайте рассмотрим возможные причины этой проблемы и шаги по её устранению.
Причины ошибки
- Сервер MariaDB не запущен: Сообщение об ошибке может означать, что MariaDB не запущен или работает некорректно. Это наиболее распространённая причина.
- Отсутствие файла сокета: Если сервер не запущен, соответствующий файл сокета
/var/run/mysqld/mysqld.sock
не будет создан, что и вызывает эту ошибку. - Неправильные настройки конфигурации: Конфигурационный файл MariaDB может быть неправильно настроен, что также может препятствовать запуску сервера.
- Проблемы с правами доступа: Отсутствие необходимых прав для создания или доступа к папкам, где хранятся данные MariaDB.
Шаги по устранению проблемы
-
Проверьте статус службы MariaDB:
Запустите следующую команду, чтобы проверить статус службы MariaDB:systemctl status mariadb.service
Если вы увидите, что служба не активна (failed), выполните следующую команду для получения более подробной информации:
journalctl -xe
-
Запустите MariaDB:
Попробуйте запустить сервер MariaDB с помощью команды:sudo systemctl start mariadb
После этого снова проверьте статус службы, чтобы убедиться, что она запущена.
-
Проверьте логи MariaDB:
Если служба не запускается, проверьте файлы журналов MariaDB, которые могут дать дополнительную информацию о причине сбоя. Логи обычно находятся по пути/var/log/mysql/error.log
или/var/log/mariadb/mariadb.log
. -
Создайте файл сокета:
Если у вас нет файла сокета, попробуйте создать необходимые каталоги и установить соответствующие права:sudo mkdir -p /var/run/mysqld sudo chown mysql:mysql /var/run/mysqld
Затем попробуйте снова запустить MariaDB.
-
Настройка конфигурационного файла (если необходимо):
Если вы внесли изменения в конфигурацию MariaDB, убедитесь, что в файле конфигурации, обычно находящемся в/etc/mysql/my.cnf
, правильно указаны пути к файлам и каталогам. -
Переустановка MariaDB (если другие методы не работают):
Если ничего не помогает, рассмотрите возможность переустановки MariaDB. Для этого выполните следующие команды:sudo apt-get remove --purge mariadb-server sudo apt-get install mariadb-server
После переустановки повторите шаги по настройке и запуску MariaDB.
Заключение
Следуйте вышеописанным шагам для диагностики и решения проблемы с соединением к серверу MariaDB. В большинстве случаев ошибка ERROR 2002 (HY000)
возникает из-за того, что сервер не запущен. Если вы выполните все указанные действия и проблема останется нерешенной, обратитесь к документации или сообществам пользователей MariaDB для получения дополнительной помощи.