Сервер MySQL не запускается на Ubuntu 20.04.3

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

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

mysql

Вот что я получаю:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Если я проверяю, включен он или нет с помощью:

sudo systemctl status mysql

Я получаю:

    ● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; disabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2022-04-16 23:29:16 UTC; 5min ago
    Process: 474306 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited,         status=1/FAILURE)

Apr 16 23:29:16 amir-server systemd[1]: mysql.service: Control process exited, code=exited, status=1/FAILURE
Apr 16 23:29:16 amir-server systemd[1]: mysql.service: Failed with result 'exit-code'.
Apr 16 23:29:16 amir-server systemd[1]: Failed to start MySQL Community Server.
Apr 16 23:29:16 amir-server systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
Apr 16 23:29:16 amir-server systemd[1]: Stopped MySQL Community Server.
Apr 16 23:29:16 amir-server systemd[1]: mysql.service: Start request repeated too quickly.
Apr 16 23:29:16 amir-server systemd[1]: mysql.service: Failed with result 'exit-code'.
Apr 16 23:29:16 amir-server systemd[1]: Failed to start MySQL Community Server.

journalctl -xe дает мне:

Apr 16 23:38:54 amir-server systemd[1]: Failed to start MySQL Community Server.
-- Subject: A start job for unit mysql.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit mysql.service has finished with a failure.
--
-- The job identifier is 2666039 and the job result is failed.

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

Любая помощь будет очень полезной!

[Изменить]

pgrep -l mysql

не возвращает никаких процессов

/var/log/mysql/error.log

не существует.

И если я делаю mysqld, то получаю:

mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)
2022-04-17T18:30:29.693043Z 0 [Warning] [MY-010101] [Server] Insecure configuration for --secure-file-priv: Location is accessible to all OS users. Consider choosing a different directory.
2022-04-17T18:30:29.710554Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.28-0ubuntu0.20.04.3) starting as process 29346
2022-04-17T18:30:29.976620Z 0 [ERROR] [MY-010119] [Server] Aborting
2022-04-17T18:30:30.038737Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.28-0ubuntu0.20.04.3)  (Ubuntu).

Я сделал то, что предложил @NioMarvin83. Во время установки я получил это:

MySQL has been frozen to prevent damage to your system. Please see /etc/mysql/FROZEN for help.

Вот что внутри /etc/mysql/FROZEN:

This MySQL or variant installation has entered "frozen mode". Maintainer
scripts will avoid making changes or starting the daemon until manually
released from this state. See /usr/share/doc/mysql-common/README for
general information about this mode.

In this particular case, an incompatible downgrade attempt has been
detected. This can be resolved in one of two ways:

1. Change the contents of /var/lib/mysql/ to contain database data that
is compatible with the currently installed MySQL or variant daemon
version. For example: you could restore from a backup. Alternatively you
could do a dump using a future version binary and then a restore using
the current version binary.

2. Switch to a MySQL or variant daemon version that is compatible with
the data currently in /var/lib/mysql/. For example, if you have
attempted a downgrade from mysql-server-5.7 to mysql-server-5.6, you
could "apt install mysql-server-5.7" again.

Please resolve this situation and only then remove the /etc/mysql/FROZEN
symlink. You can then run "dpkg-reconfigure <package>" where <package>
should usually be in the form <variant>-server-<version>.

У меня была похожая проблема. После многих попыток, которые закончились только моим разочарованием. Однако единственное, что я сделал перед этим, это установил mysql-server с помощью команды: sudo apt-get install mysql-server
Я пытался установить и переустановить, обновить и обновлять Ubuntu, хотя не был уверен, что моя автоматическая часть xloo поможет.

После множества попыток и большого количества времени мне помогло – я исправил, “очистив” каждый файл, связанный с mysql, и переустановив mysql-server:
sudo apt-get purge mysql-server mysql-client mysql-common
sudo apt-get install mysql-server

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

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

Шаги по устранению неполадок:

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

    sudo systemctl status mysql

    Убедитесь, что служба действительно остановлена и что вы видите сообщение о неудачном запуске.

  2. Просмотр логов MySQL:
    Обычно логи MySQL находятся по пути /var/log/mysql/error.log. Если этот файл не существует, это может свидетельствовать о том, что MySQL не был запущен, и лог не был создан. В таких случаях рекомендуется проверить другие журналы, например:

    journalctl -xe

    Это может предоставить дополнительные сведения о проблеме.

  3. Устранение «замороженного» состояния:
    Судя по вашему скриншоту из /etc/mysql/FROZEN, ваша установка MySQL находится в «замороженном» состоянии, что означет, что попытка установки версии, несовместимой с вашими базами данных, была обнаружена. Вам нужно решить эту проблему одним из следующих способов:

    • Вернуть данные базы данных из резервной копии, соответствующей вашей установленной версии MySQL.
    • Установить совместимую версию MySQL. Например, если у вас установлена версия 8.0, необходимо удалить или переместить старые файлы в /var/lib/mysql/ и затем переустановить MySQL.
  4. Удаление и повторная установка MySQL:
    Если вы хотите переустановить MySQL полностью, используя команды, которые вы упомянули, выполните:

    sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
    sudo rm -rf /etc/mysql /var/lib/mysql
    sudo apt-get autoremove
    sudo apt-get autoclean

    Затем вы можете повторно установить MySQL с помощью команды:

    sudo apt-get install mysql-server
  5. Проверка прав доступа:
    Убедитесь, что у службы MySQL есть корректные права доступа к каталогу /var/lib/mysql (или другие используемые каталоги). Вы можете это сделать следующей командой:

    sudo chown -R mysql:mysql /var/lib/mysql
  6. Запуск MySQL:
    После выполнения всех вышеуказанных шагов попробуйте снова запустить MySQL:

    sudo systemctl start mysql

    И проверьте статус:

    sudo systemctl status mysql

Заключение:

Если вам все еще не удается запустить MySQL, вам может понадобиться проверить, существует ли проблема с конфигурационными файлами или даже контентом баз данных в /var/lib/mysql. Также стоит рассмотреть возможность использования альтернативных инструментов мониторинга и диагностики.

Не забывайте выполнять регулярные резервные копии вашей базы данных, чтобы исключить риск потери данных в будущем. Если возникнут дополнительные вопросы, не стесняйтесь задавать их!

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

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