Як я повністю видаляю mysql-сервер на Debian?


13

Я подумав, що поділюсь тут своїм запитанням, а потім відповім, оскільки, здається, багато людей застрягли в моєму становищі - але остаточної відповіді немає. Проблема полягає в тому, що якщо ви apt-get remove mysql-сервер, він не очищає файли конфігурації та бази даних, тому якщо ви якимось чином їх накрутили, то встановлення знову не замінить їх. Тому, здається, багато людей запитують "як я повністю видаляю mysql-сервер, щоб я міг знову встановити свіжий?" - всі відповідають з apt-get remove --purge mysql-server- я не впевнений, чому, але це не повністю видаляється. Моя відповідь випливає ...

Відповіді:


19

видалення mysql-сервера не працює, тому що mysql-сервер - це лише метапакет, який залежить від конкретної версії сервера

apt-get remove --purge 'mysql-.*'

або

apt-get remove --purge 'mysql-server.*'

зробить трюк.


Дякую за пораду. Я не знав, що може використовуватися макіяж.
Нік Болтон

це насправді регулярний вираз, таким чином, '. *', а не простий ' '. Якщо ви спробували видалити mysql - він би відповідав лише пакету з назвою mysql -----------, що не дуже корисно :-)
Джастін,

як зазначено нижче, ви хочете бути обережними щодо mysql-звичайного, який використовується декількома шматочками і шматочками (голубець пружиться на розум).
Френчі

1
Ага, так, регулярний вираз не підстановка - ой!
Нік Болтон

У мене був встановлений mysql 5.5 на моєму розспійованому джессі. Після оновлення я не знаю, чому це було, але воно було неправильно налаштоване, що не дозволило його видалити належним чином. Ваша відповідь повністю видалила сервер mysql 5.5, і я зміг оновити. Остерігайтеся, якщо ви не зробите резервні копії, ви втратите файли конфігурацій (датібаз?).
russellhoff

2

Це працювало для мене (я також намагався встановити v5.0, але це погіршило ситуацію):

apt-get remove --purge mysql-server-5.0 mysql-common mysql-client-5.0 \
mysql-server-5.1 mysql-client-5.1 mysql-server mysql-client

apt-get install mysql-server

Я думаю, що ключовим тут є видалення mysql-common- але я не впевнений. Спробуйте це і залиште свої коментарі.


Якщо ви використовуєте 5.0 і вище, то apt-get purge ...це те саме, щоapt-get --purge remove ...
Zoredache

1

У мене були деякі проблеми з цим. Навіть після видалення всіх пакетів сервера встановлені деякі конфігураційні файли mysql-common, що є залежністю libmysqlclient.

Спробуйте скористатися, dpkg -S /etc/mysqlщоб побачити, які пакети встановлюють ці файли.


0

Ви також можете використовувати dpkg -P для цього

Зі сторінки чоловіка dpkg

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