Не может установить MySQL-сервер в Ubuntu16.0.4
sudo apt-get install mysql-server
не удастся блокирует в этой точке
var/lib/dpkg/info/mysql-server-5.7.postinst: line 143: /usr/share/mysql-common/configure-symlinks: No such file or directory
Я нашел решение этой ошибки, прокомментировав строку 143 в файле /var/lib/dpkg/info/mysql-server-5.7.postinst.
но моя проблема в том, что я не могу найти файл /var/lib/dpkg/info/mysql-server-5.7.postinst.. не говоря уже о том, чтобы прокомментировать в нем одну строку.
так как сделать чтобы избавиться от застрявшей ситуации
ps: я установил mariadb и удалил его по шагам, которые я погуглил
Обновить:
Я выполнил шаги, указанные в первом ответе, и он по-прежнему вызывал эту ошибку, прежде чем
удивительно, на этот раз я могу sudo vim /var/lib/dpkg/info/mysql-server-5.7.postinst file
и я комментирую строку 143, однако.. она сообщает о другой ошибке
ERROR: Unable to start MySQL server:
2017-11-26T08:51:57.033255Z 0 [Note] mysqld (mysqld 5.7.20-0ubuntu0.16.04.1-log) starting as process 22612 ...
2017-11-26T08:51:57.034651Z 0 [ERROR] You have enabled the binary log, but you haven't provided the mandatory server-id. Please refer to the proper server start-up parameters documentation
2017-11-26T08:51:57.035603Z 0 [ERROR] Aborting
6 ответов
Я решил эту проблему, удалив исходные тексты mariadb, очистив mysql-common, а затем переустановив его.
делать:sudo apt edit-sources
и ищите что-нибудь, содержащее mariadb вроде: deb [arch=amd64,arm64,ppc64el] http://ftp.nluug.nl/db/mariadb/repo/10.3/ubuntu bionic main
закомментировать, поставив #
перед ней. тогда беги
sudo apt update
sudo apt purge mysql-common
sudo apt install mysql-common
после этого вы можете правильно установить MySQL-сервер через sudo apt install mysql-server
если он когда-либо исчезнет из репо, сценарий будет:
#!/bin/sh
set -e
case "$1" in
install)
variant="$2"
my_cnf_path="$3"
update-alternatives --install /etc/mysql/my.cnf my.cnf "$my_cnf_path" 200
;;
remove)
variant="$2"
my_cnf_path="$3"
update-alternatives --remove my.cnf "$my_cnf_path"
;;
esac
```
Просто удалите все пакеты mysql и переустановите:
sudo apt-get remove --purge *mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mysql-server mysql_secure_installation
Я исправил проблему, добавив пустой файл, который искал установочный скрипт, а затем предоставив разрешения rwx для всех. Наверное, не лучшим образом, но у меня это сработало.
sudo touch /usr/share/mysql-common/configure-symlinks
sudo chmod 777 /usr/share/mysql-common/configure-symlinks
sudo apt-get update
sudo apt-get upgrade
Произошло это при попытке установить MariaDB при наличии MySQL 8. Вы можете вернуть скрипт и повторить попытку с помощью команды apt install или remove.
версия MySQL: 8.0.25-0ubuntu0.20.04.1
/usr/share/mysql-common/configure-symlinks
#!/bin/sh
set -e
case "$1" in
install)
variant="$2"
my_cnf_path="$3"
update-alternatives --install /etc/mysql/my.cnf my.cnf "$my_cnf_path" 200
;;
remove)
variant="$2"
my_cnf_path="$3"
update-alternatives --remove my.cnf "$my_cnf_path"
;;
esac
У меня уже был запущен mysql5.7 16.04.7, но apt все еще пытался его настроить и выдавал ошибку. Я безуспешно пытался создать искусственную символическую ссылку, чтобы обойти ошибку строки 143 в постустановочном скрипте - она останавливалась и неправильно запускала mysqld...
Мое решение состояло в том, чтобы поместить «выход 0» в начало сценария после установки и запустить «подходящее обновление», а затем удалить «выход 0» и сохранить его. Теперь mysqld не выключается при запуске apt upgrade.
При установке сервера MySQL на Ubuntu у меня возникала ошибка ниже, и ранее я установил mariadb.
Ошибка :
Я решил эту проблему, используя простые шаги, упомянутые ниже.
- Редактировать файл списка источников APT
судо vim /etc/apt/sources.list
Прокомментируйте все строки URL-адреса mariadb
Сохраните файл
обновление sudo apt
sudo apt очистить mysql-*
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt установить MySQL-сервер
статус службы MySQL sudo