Рейтинг:0

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

флаг pk

Я унаследовал машину Ubuntu с установленным mysql, и я не знаю, как это сделать. Моя проблема в том, что я не могу получить доступ к mysql.

Вот некоторая информация о моем хосте:

кот /etc/os-релиз
ИМЯ="Убунту"
ВЕРСИЯ = "20.04.1 LTS (Фокусная ямка)"
ID=убунту
ID_LIKE=дебиан
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=фокальная
UBUNTU_CODENAME=фокусный

MySQl версия mysql версии 8.0.27-0ubuntu0.20.04.1 для Linux на x86_64 ((Ubuntu))

Это сообщение об ошибке:

$ mysql -u корень -p
ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет «/var/run/mysqld/mysqld.sock»

---

$ запуск службы mysqld
Не удалось запустить mysqld.service: модуль mysqld.service не найден.

Этот файл /var/run/mysqld/mysqld.sock не существует.

РЕДАКТИРОВАТЬ С ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИЕЙ

$ netstat -tlpn
Активные интернет-соединения (только серверы)
Proto Recv-Q Send-Q Локальный адрес Внешний адрес Состояние PID/имя программы
TCP 0 0 127.0.0.53:53 0.0.0.0:* ПРОСЛУШАТЬ 99/systemd-разрешено
TCP 0 0 0.0.0.0:22 0.0.0.0:* ПРОСЛУШАТЬ 136/sshd: /usr/sbin
TCP 0 0 127.0.0.1:25 0.0.0.0:* ПРОСЛУШИВАТЬ 303/мастер
TCP 0 0 127.0.0.1:6010 0.0.0.0:* ПРОСЛУШАТЬ 313/sshd: root@pts/
tcp6 0 0 :::80 :::* ПРОСЛУШАТЬ 138/apache2
tcp6 0 0 :::22 :::* ПРОСЛУШАТЬ 136/sshd: /usr/sbin
tcp6 0 0 ::1:25 :::* ПРОСЛУШИВАТЬ 303/мастер
tcp6 0 0 ::1:6010 :::* ПРОСЛУШАТЬ 313/sshd: root@pts/
$ systemctl запустить mysql
Задание для mysql.service завершилось неудачно, так как процесс управления завершился с кодом ошибки.
Подробности смотрите в "systemctl status mysql.service" и "journalctl -xe".
$ systemctl статус mysql.service
* mysql.service — Сервер сообщества MySQL
     Загружено: загружено (/lib/systemd/system/mysql.service; отключено; предустановка поставщика: включена)
     Активно: сбой (результат: код выхода) с четверга 27 января 2022 г., 08:32:50 CET; 10 секунд назад
    Процесс: 5687 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
    Процесс: 5696 ExecStart=/usr/sbin/mysqld (код=выход, статус=1/FAILURE)
   Основной PID: 5696 (код=выход, статус=1/ОШИБКА)
     Статус: "Выполняется запуск сервера"
      Ошибка: 2 (Нет такого файла или каталога)

27 января 08:32:50 osticket systemd[1]: mysql.service: основной процесс завершен, код = завершен, статус = 1/FAILURE
27 января, 08:32:50 osticket systemd[1]: mysql.service: Ошибка с результатом «код выхода».
27 января, 08:32:50 osticket systemd[1]: не удалось запустить MySQL Community Server.
27 января, 08:32:50 osticket systemd[1]: mysql.service: запланированное задание перезапуска, счетчик перезапусков равен 5.
27 января, 08:32:50 osticket systemd[1]: сервер сообщества MySQL остановлен.
27 января, 08:32:50 osticket systemd[1]: mysql.service: Запрос на запуск повторяется слишком быстро.
27 января, 08:32:50 osticket systemd[1]: mysql.service: Ошибка с результатом «код выхода».
27 января, 08:32:50 osticket systemd[1]: не удалось запустить MySQL Community Server.
$ pwd && лс
/вар/журнал
альтернативы.log apache2 auth.log.4.gz dpkg.log.1 lastlog mysqld.err php7.4-fpm.log.2.gz php7.4-fpm.log.8.gz syslog.3.gz wtmp
альтернативы.log.1 apt btmp dpkg.log.2.gz mail.log php7.4-fpm.log php7.4-fpm.log.3.gz php7.4-fpm.log.9.gz syslog.4. gz wtmp.1
альтернативы.log.2.gz auth.log btmp.1 dpkg.log.3.gz mail.log.1 php7.4-fpm.log.1 php7.4-fpm.log.4.gz частный системный журнал.5. гз
альтернативы.log.3.gz auth.log.1 dist-upgrade dpkg.log.4.gz mail.log.2.gz php7.4-fpm.log.10.gz php7.4-fpm.log.5. gz системный журнал syslog.6.gz
альтернативы.log.4.gz auth.log.2.gz dmesg faillog mail.log.3.gz php7.4-fpm.log.11.gz php7.4-fpm.log.6.gz syslog.1 системный журнал. 7.gz
альтернативы.log.5.gz auth.log.3.gz dpkg.log журнал mail.log.4.gz php7.4-fpm.log.12.gz php7.4-fpm.log.7.gz syslog.2 .gz ubuntu-advantage.log
$ кошка /var/log/mysqld.err
2022-01-26T12:23:07.952718Z 0 [ОШИБКА] [MY-010083] [Сервер] --verbose используется с --help; Вы имели в виду --log-error-verbosity?
2022-01-26T12:23:07.952814Z 0 [ОШИБКА] [MY-010095] [Сервер] Не удалось получить доступ к каталогу для --secure-file-priv. Убедитесь, что каталог существует и доступен для сервера MySQL. Предоставленное значение: /var/lib/mysql-files
2022-01-26T12:23:07.953735Z 0 [ОШИБКА] [MY-010119] [Сервер] Прерывание
$ namei -l /var/lib/mysql-файлы
f: /var/lib/mysql-файлы
drwxr-xr-x корень корень /
drwxr-xr-x root root var
drwxr-xr-x корневая корневая библиотека
                     mysql-files - Нет такого файла или каталога

Я пытался исправить это многими способами, но я не могу. Кто-нибудь может мне помочь?

Спасибо.

флаг us
Каково содержимое `/var/log/daemon.log`?
xabikip avatar
флаг pk
Файл @TeroKilkanen `/var/log/daemon.log` не существует на моем хосте.
флаг us
Какие файлы содержит `/var/log`? Очень странно, что там нет файла daemon.log, который является стандартной целью журнала в Ubuntu и многих других дистрибутивах Linux.
xabikip avatar
флаг pk
@TeroKilkanen Теперь вы можете увидеть файлы `/var/log` в вопросе
флаг in
`/var/log/mysqld.err`?
xabikip avatar
флаг pk
@GeraldSchneider ничего интересного в `/var/log/mysqld.err`. Вы можете увидеть на вопрос.
флаг in
У вас странное определение "интересного". Вы проверяли `/var/lib/mysql-files`? Пожалуйста, покажите `namei -l /var/lib/mysql-files`
xabikip avatar
флаг pk
@GeraldSchneider Нет файлов `/var/lib/mysql`. Вы можете увидеть вывод `namei -l /var/lib/mysql-files` в вопросе.
флаг us
Вернемся немного назад. Вы унаследовали эту машину. Какова точная цель машины и какова ваша цель? У него явно есть какая-то нерабочая установка MySQL. Если неизвестен вариант использования, бесполезно диагностировать проблему установки MySQL.
xabikip avatar
флаг pk
@TeroKilkanen Есть приложение, которое долгое время не использовалось. Теперь меня попросили восстановить его и запустить, и приложение использует базу данных. Итак, я пытаюсь запустить снова, но у меня есть проблема с БД.
флаг us
Проблема здесь в том, что эта база данных не работала, когда приложение было отключено. Каталог данных для MySQL не существовал, поэтому нет данных для приложения. Вам нужно проверить, действительно ли это хост БД, который использовало приложение. Если нет, то вам нужно найти правильный хост.
Рейтинг:0
флаг gb

netstat -тлпн - это mysql работает на порту 3306? или в другом месте? по умолчанию подключение к локальному хосту осуществляется через сокет, попробуйте добавить --протокол 3306 - видеть Как заставить MySQL подключаться по TCP вместо сокета Unix? - также, пс топор | grep mysql а потом lsof -p <mysqld pid> и найдите IPv4 или IPv6 или сокет - сокет может быть размещен не в том месте, где его ожидает клиент.

xabikip avatar
флаг pk
Я указал информацию о `netstat -tlpn` в вопросе. ничего не вижу в mysql
Petr Chloupek avatar
флаг gb
как насчет `ps топор | grep mysql`? он хоть работает?
xabikip avatar
флаг pk
`ps топор | grep mysql` это вывод `2445 pts/2 S+ 0:00 grep --color=auto mysql`
Рейтинг:0
флаг us

Имя службы mysql в Debian/Ubuntu, поэтому вам нужно использовать systemctl запустить mysql для запуска сервера.

xabikip avatar
флаг pk
С `systemctl start mysql` также выдает ошибку. С `systemctl start mysql` также выдает ошибку. Я добавил больше информации в вопрос.
Рейтинг:0
флаг in

Ваш mysqld не запускается и в журнале ошибок указывается следующая ошибка:

Не удалось получить доступ к каталогу для --secure-file-priv. Убедитесь, что каталог существует и доступен для сервера MySQL. Предоставленное значение: /var/lib/mysql-files

/var/lib/mysql-файлы отсутствует, поэтому вам нужно его создать.

sudo install -o mysql -g mysql -m 0700 -d /var/lib/mysql-файлы

После этого вы сможете запустить mysqld, используя systemctl запустить mysql.

xabikip avatar
флаг pk
Я создал `/var/lib/mysql-files`, как вы говорите, и теперь у меня есть `drwx------ 2 mysql mysql 4096 Jan 27 13:45 mysql-files`. Затем запустите mysqld, используя `systemctl start mysql`, но у меня та же ошибка: `Задание для mysql.service не выполнено, потому что процесс управления завершился с кодом ошибки`. ;(
флаг in
Пожалуйста. Прочтите журнал ошибок.

Ответить или комментировать

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