Проблеми з установкою та видаленням MySQL в Ubuntu


26

У мене виникають проблеми з установкою або видаленням частково встановленого mysql-server-5.6 в ubuntu15.04. Помилка, яку я отримував, була

$ sudo apt-get -f install 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  mysql-server-5.6
The following packages will be upgraded:
  mysql-server-5.6
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
22 not fully installed or removed.
Need to get 0 B/5,501 kB of archives.
After this operation, 50.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Preconfiguring packages ...
Setting up mysql-common (5.6.24-0ubuntu2) ...
update-alternatives: error: alternative path                 /etc/mysql/my.cnf.fallback doesn't exist
dpkg: error processing package mysql-common (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 mysql-common
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB
localepurge: Disk space freed in /usr/share/doc/kde/HTML: 0 KiB

Total disk space freed by localepurge: 0 KiB

E: Sub-process /usr/bin/dpkg returned an error code (1)

Може хтось мені допоможе в цьому?


Краще можна видалити, і, сподіваємось, чиста повторна установка буде добре, я думаю.
vembutech

Я спробував цей процес, як і раніше, у мене є проблема, тобто я нездатний видалити або перевстановити сервер mysql
Shameerariff

1
Я спробував мій рівень найкраще, щоб з’ясувати причину проблеми. Я видалив дані з файлу статусу apt та оновив apt, де помітив, що система відчуває проблеми з libgcc1 libc6. Я намагаюся вирішити проблему. Буде тримати статус публікації на основі моїх висновків.
Shameerariff

Відповіді:


55

Спробуйте зробити очищення, а потім знову встановіть.

sudo apt-get remove --purge mysql-\*
sudo apt-get install mysql-server mysql-client

Оновлення 04.09.2018:
Якщо у вас виникли проблеми з видаленням / установкою через те, що процес MySQL є активним, ви можете спробувати це спочатку, а потім вище:
sudo kill $(pgrep mysql)


Я спробував цей процес, як і раніше, у мене є проблема, тобто я нездатний видалити або перевстановити сервер mysql
Shameerariff

Оригінальними інструкціями було видалено метапакет, який не вдавався. Нові відредаговані інструкції працюють з 16.04.
мрм

Працював для мене на елементарній ОС.
MChaker

2
Це працювало для мене лише після того, як я перевірив ps -aef | grep mysqlі надіслав сигнал вбивства для всіх різновидів запущеного mysqld.
Чарні Кей

12

Дуже просте рішення, яке мені (Linux noob) довелося викопати ... це створити файл.

nano /etc/mysql/my.cnf.fallback

і заповніть його вмістом за замовчуванням з пакета mysql-common 5.7.11-0ubuntu6.

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

!includedir /etc/mysql/conf.d/

знайдено тут на сайті apt-browse.org


Це краща відповідь, ніж прихильна, оскільки вона виправляє актуальну проблему, не використовуючи підхід грубої сили.
відхилення

У моєму випадку touch /etc/mysql/my.cnf.fallbackя пройшов проблему.
oalders

9

Purge / Reinstall також не працював для мене. Я знайшов таке "рішення":

Не вдалося знайти mysql.cnf.fallbackперелічені у "наданих файлах" для mysql-server-5.6/ mysql-client-5.6ні додаткову інформацію про файл.

Я скопіював /etc/mysql/my.cnfв /etc/mysql/my.cnf.fallback(припускаю , що це було б порівняно менш важливим «резервний» конфігураційний файл);

/etc/mysql/my.cnfє символьним посиланням, тому ls /etc/mysqlтепер показує:

 my.cnf.fallback -> /etc/alternatives/my.cnf
 my.cnf -> /etc/alternatives/my.cnf

Потім установка пакета завершена без помилок (оскільки, мабуть, проблема "не існує" була "вирішена").

Я ще не стикався з жодними несприятливими наслідками.


Це звучить чудово, але чи можете ви пояснити причину проблеми. Це було б корисно для інших.
Shameerariff

5

У мене була така ж проблема під час спроби очистити mysql-сервер (5.7.14).

У разі відсутності файлів my.cnf * ви можете повторно встановити пакунок mysql-common , а після цього можете очистити обидва ( mysql-server & mysql-common )

Ці файли my.cnf * належать до загального пакету mysql (див. Нижче):

$ dpkg -L mysql-common | grep cnf
/etc/mysql/my.cnf.fallback
/etc/mysql/conf.d/mysql.cnf


1. Перевстановіть mysql-common

apt-get install - перевстановіть mysql-common

  1. Чистка mysql-звичайна

apt-get purge mysql-поширений


1

Я перевірив свою /etc/mysql/папку і виявив, що вона абсолютно порожня, крім порожньої підпапки conf.d.

cd /etc/
# you need to delete the empty mysql folder otherwise the ln below creates the link inside the existing mysql folder
sudo rm -r mysql
sudo ln -s ./mysql.bak/ mysql

потім (люб'язно надавши це посилання )

sudo dpkg --configure -a

і тепер все здається нормально.

Посилання вище згадується, --force-dependsале мені це не потрібно. Це також згадує, apt-get -f installале знову це мені не потрібно було.


Це була саме моя проблема. Це зафіксувало це для мене.
Дейв Кінкейд

0

Як зазначає charneykaye у коментарях, такий підхід може провалитись, якщо mysqlу фоновому режимі є якісь процеси. Я використав:

emil-mint-desktop ~ # ps -aef | grep mysql
root      6682     1  0 16:45 ?        00:00:00 sudo mysqld_safe --skip-grant-tables
root      6683  6682  0 16:45 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql     7046  6683  0 16:45 ?        00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --log-syslog=1 --log-syslog-facility=daemon --log-syslog-tag=
root     21046  9812  0 17:32 pts/5    00:00:00 grep --color=auto mysql

Загинув перші 3 процеси (останній - сам grepвиклик!), Використовуючи:

kill -9 6682 8883 7046

Потім видаліть усе mysqlпов’язане:

apt remove --purge mysql-\*
apt autoremove
apt autoclean

а потім встановіть:

apt install mysql-server

Тоді це спрацювало.

Версії:

  • Монетний двір 18.1 (заснований на Ubuntu). Вам потрібно буде замінити aptна apt-getдеякі інші версії.

0

Я знайшов просте рішення для цього:

Перший крок: apt-get install mysql-common --reinstall

Другий крок: apt-get install mysql-server --reinstall

І це працює!


0

Спробувавши всі відповіді вище, я зміг вирішити цю проблему:

sudo rm /etc/rc5.d/S03mysql

Тоді вдалося запустити:

sudo apt чистка mysql-сервер mysql-сервер-5,7 mysql-сервер-core-5,7

sudo apt-get -f встановити mysql-сервер - виправлення відсутнє - виправлено

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.