Рейтинг:1

Невозможно запустить/удалить/переустановить mysql в Ubuntu 20.04

флаг cn

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

xxx@xxx:/etc/mysql$ mysql  

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

Я пробовал различные комбинации около 5 часов, но ни одна из них не сработала. Я рад избавиться от текущих баз данных, если они вообще существуют сейчас.

Вот что я получаю, когда пытаюсь удалить сервер mysql:

xxxx@xxx:/etc/mysql$ sudo apt удалить mysql-сервер
Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
Пакет 'mysql-server' не установлен, поэтому не удален
0 для обновления, 0 для новой установки, 0 для удаления и 0 для отказа от обновления.
1 не полностью установлен или удален.
После этой операции будет использовано 0 Б дополнительного дискового пространства.
Настройка mysql-server-8.0 (8.0.25-0ubuntu0.20.04.1)...
Не удалось остановить mysql.service: модуль mysql.service не загружен.
invoke-rc.d: initscript mysql, действие "стоп" не выполнено.
mysqld будет регистрировать ошибки в /var/log/mysql/error.log
2021-06-11T12:46:36.625455Z 0 [ОШИБКА] [MY-010946] [Сервер] Не удалось запустить демон mysqld. Проверьте журнал ошибок mysqld.
Предупреждение: невозможно запустить сервер.
Не удалось предварительно настроить модуль: файл mysql.service: ссылка разорвана
/usr/bin/deb-systemd-helper: ошибка: предустановка systemctl не удалась в mysql.service: нет такого файла или каталога
Не удалось запустить mysql.service: модуль mysql.service не найден.
invoke-rc.d: initscript mysql, действие "старт" не выполнено.
Модуль mysql.service не найден.
dpkg: ошибка обработки пакета mysql-server-8.0 (--configure):
 установленный подпроцесс сценария после установки пакета mysql-server-8.0 вернул статус ошибки 1
При обработке возникли ошибки:
 mysql-сервер-8.0
E: Подпроцесс /usr/bin/dpkg возвратил код ошибки (1)

Вывод файла /var/log/mysql/error.log, показанный в приведенном выше выводе, выглядит следующим образом:

2021-06-11T12:39:33.378397Z 0 [Предупреждение] [MY-011068] [Сервер] Синтаксис 'expire-logs-days' устарел и будет удален в будущем выпуске. Пожалуйста, используйте inste binlog_expire_logs_seconds>
2021-06-11T12:39:33.379542Z 0 [Система] [MY-010116] [Сервер] /usr/sbin/mysqld (mysqld 8.0.25-0ubuntu0.20.04.1), начиная с процесса 9109
2021-06-11T12:39:33.380367Z 0 [Предупреждение] [MY-013242] [Сервер] --character-set-server: 'utf8' в настоящее время является псевдонимом для набора символов UTF8MB3, но будет псевдонимом для UTF8MB4 в будущем>
2021-06-11T12:39:33.608401Z 1 [Система] [MY-013576] [InnoDB] Началась инициализация InnoDB.
2021-06-11T12:39:33.629330Z 1 [ОШИБКА] [MY-012263] [InnoDB] Автоматически расширяющийся файл данных innodb_system './ibdata1' имеет размер 768 страниц (округленный в меньшую сторону до МБ), отличный от указанного в >
2021-06-11T12:39:33.629486Z 1 [ОШИБКА] [MY-012930] [InnoDB] Инициализация плагина прервана из-за ошибки Общая ошибка.
2021-06-11T12:39:34.129573Z 1 [ОШИБКА] [MY-010334] [Сервер] Не удалось инициализировать механизм хранения DD
2021-06-11T12:39:34.129950Z 0 [ОШИБКА] [MY-010020] [Сервер] Ошибка инициализации словаря данных.
2021-06-11T12:39:34.130270Z 0 [ОШИБКА] [MY-010119] [Сервер] Прерывание
2021-06-11T12:39:34.131554Z 0 [Система] [MY-010910] [Сервер] /usr/sbin/mysqld: завершение работы (mysqld 8.0.25-0ubuntu0.20.04.1) (Ubuntu).

И вывод следующей команды дает:

Ваша помощь в этом отношении высоко ценится. Я не хочу снова делать новую установку Ubuntu.

Спасибо.

Рейтинг:0
флаг cn

Наконец мне удалось удалить полностью.

Во-первых, проверьте, есть ли какая-либо активная служба, связанная с mysql, запустив:

лс /etc/системд/система

У меня были активны mysqld.service и mysql.service, я мог удалить оба, выполнив следующую команду

systemctl отключить mysqld.service
systemctl демон-перезагрузка
systemctl сброс-ошибка

Для приведенных выше команд см.: https://superuser.com/questions/513159/как-удалить-системные-сервисы

Затем, наконец, я побежал за полным удалением mysql:

sudo apt --purge удалить mysql-common

Примечание. Если вы столкнулись со следующей ошибкой:

альтернативы обновления: ошибка: альтернативный путь /etc/mysql/my.cnf.fallback не существует

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

 sudo ln -s /etc/mysql/my.cnf /etc/alternatives/my.cnf

теперь, если вы уже удалили папку /etc/mysql, не проблема, создайте ее снова и создайте фиктивный файл с именем my.cnf, используя:

sudo touch /etc/mysql/my.cnf

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

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