Як повністю видалити MySQL для чистої установки


14

Мені потрібно повністю видалити все про MySQL. Він не починався, тому я вирішив видалити його. Однак під час встановлення це сталося:

sta@daPC:~$ sudo apt-get install mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libdbd-mysql-perl libmysqlclient18 mysql-client-5.6 mysql-common
  mysql-server-5.6
Suggested packages:
  mailx tinyca
The following NEW packages will be installed:
  libdbd-mysql-perl libmysqlclient18 mysql-client-5.6 mysql-common
  mysql-server mysql-server-5.6
0 upgraded, 6 newly installed, 0 to remove and 87 not upgraded.
Need to get 0 B/12,0 MB of archives.
After this operation, 101 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 188526 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.6.28-0ubuntu0.15.10.1_all.deb ...
Unpacking mysql-common (5.6.28-0ubuntu0.15.10.1) ...
Selecting previously unselected package libmysqlclient18:i386.
Preparing to unpack .../libmysqlclient18_5.6.28-0ubuntu0.15.10.1_i386.deb ...
Unpacking libmysqlclient18:i386 (5.6.28-0ubuntu0.15.10.1) ...
Selecting previously unselected package libdbd-mysql-perl.
Preparing to unpack .../libdbd-mysql-perl_4.028-2_i386.deb ...
Unpacking libdbd-mysql-perl (4.028-2) ...
Selecting previously unselected package mysql-client-5.6.
Preparing to unpack .../mysql-client-5.6_5.6.28-0ubuntu0.15.10.1_i386.deb ...
Unpacking mysql-client-5.6 (5.6.28-0ubuntu0.15.10.1) ...
Processing triggers for man-db (2.7.4-1) ...
Setting up mysql-common (5.6.28-0ubuntu0.15.10.1) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Selecting previously unselected package mysql-server-5.6.
(Reading database ... 188621 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.6_5.6.28-0ubuntu0.15.10.1_i386.deb ...
Unpacking mysql-server-5.6 (5.6.28-0ubuntu0.15.10.1) ...
Selecting previously unselected package mysql-server.
Preparing to unpack .../mysql-server_5.6.28-0ubuntu0.15.10.1_all.deb ...
Unpacking mysql-server (5.6.28-0ubuntu0.15.10.1) ...
Processing triggers for man-db (2.7.4-1) ...
Processing triggers for ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot
Processing triggers for systemd (225-1ubuntu9) ...
Setting up libmysqlclient18:i386 (5.6.28-0ubuntu0.15.10.1) ...
Setting up libdbd-mysql-perl (4.028-2) ...
Setting up mysql-client-5.6 (5.6.28-0ubuntu0.15.10.1) ...
Setting up mysql-server-5.6 (5.6.28-0ubuntu0.15.10.1) ...
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
2016-02-17 04:13:48 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-02-17 04:13:48 0 [Note] /usr/sbin/mysqld (mysqld 5.6.28-0ubuntu0.15.10.1) starting as process 13491 ...

Як ви бачите, він застряг при повторному запуску сервера MySQL. Як я можу повністю видалити MySQL для нового встановлення?

EDIT: Проблема вирішилася сама після перезавантаження комп'ютера. Оскільки я не міг виявити ні проблеми, ні власне рішення, я не розміщую це як відповідь.

Відповіді:


26

Я знайшов рішення за адресою: /programming/25244606/completely-remove-mysql-ubuntu-14-04-lts/28113482#28113482

sudo rm -rf /var/lib/mysql/mysql
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mysql-server

Під час перевстановлення мені було запропоновано (новий) пароль. Під час невдалої попередньої інсталяції я пустив її порожнім, а mysql зберігав старий забутий пароль попередньої установки, який я вважав порожнім.


0

dpkg -P-пакет повинен повністю очистити пакунок, включаючи файли конфігурації. Далі йде опис параметра з команди dpkg man

-r, --ремонтувати, -P, --purge пакет ... | -a | --очікуючий Видаліть встановлений пакет. -r або --зніміть усе, крім конфілетів. Це може уникнути необхідності переналаштування віку пакета, якщо він буде перевстановлений пізніше. (Конфілі - це файли конфігурації, перелічені у файлі керування DEBIAN / conffiles). -P або --purge видаляє все, включаючи конфілі. Якщо замість імені пакета вказано -a або --pending, то всі пакунки, розпаковані, але позначені для видалення або очищення у файлі / var / lib / dpkg / status, видаляються або очищаються відповідно. Примітка: деякі файли конфігурації можуть бути невідомими dpkg, оскільки вони створюються та обробляються окремо за допомогою скриптів конфігурації. В такому разі, dpkg не видалить їх сам, але сценарій після пошти пакету (який називається dpkg) повинен подбати про їх видалення під час очищення. Звичайно, це стосується лише файлів у системних каталогах, а не файлів конфігурації, записаних у домашні каталоги окремих користувачів.


0

Ви повинні використовувати чистку:

   remove
       remove is identical to install except that packages are removed
       instead of installed. Note the removing a package leaves its
       configuration files in system. If a plus sign is appended to the
       package name (with no intervening space), the identified package
       will be installed instead of removed.

   purge
       purge is identical to remove except that packages are removed and
       purged (any configuration files are deleted too).

   --purge
       Use purge instead of remove for anything that would be removed. An
       asterisk ("*") will be displayed next to packages which are
       scheduled to be purged.  remove --purge is equivalent for purge
       command. Configuration Item: APT::Get::Purge.

Синтаксис:

 sudo apt-get remove --purge <package-name>

Або його еквівалент:

 sudo apt-get purge <package-name>

Сподіваюся, це допомагає.


Спробував. Ще те саме.
СарпСТА

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