Bagaimana cara saya menghapus mysql-server di Debian?

13

Saya pikir saya akan membagikan pertanyaan saya di sini dan kemudian menjawab, karena tampaknya ada banyak orang yang terjebak dalam posisi saya - tetapi tidak ada jawaban yang pasti. Masalahnya adalah, jika Anda apt-get menghapus mysql-server, itu tidak membersihkan konfigurasi dan file database, jadi jika Anda entah bagaimana telah mengacaukannya, kemudian menginstal lagi, tidak akan menggantinya. Jadi sepertinya ada banyak orang yang bertanya "bagaimana cara menghapus server mysql, sehingga saya dapat menginstal ulang yang baru?" - semua orang menjawab dengan apt-get remove --purge mysql-server- Saya tidak yakin mengapa, tetapi ini tidak sepenuhnya menghapus. Jawaban saya mengikuti ...

Nick Bolton
sumber

Jawaban:

19

menghapus mysql-server tidak berfungsi karena mysql-server hanyalah metapackage yang tergantung pada versi server tertentu

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

atau

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

akan melakukan trik.

Justin
sumber
Terima kasih atas tipnya. Saya tidak tahu wildcard bisa digunakan.
Nick Bolton
itu sebenarnya ekspresi reguler, jadi '. *' daripada polos ' '. Jika Anda mencoba untuk menghapus mysql- itu hanya akan cocok dengan paket bernama seperti mysql ----------- yang tidak terlalu membantu :-)
Justin
seperti yang disebutkan di bawah ini Anda harus waspada terhadap mysql-common yang digunakan oleh beberapa bit (dovecot muncul di pikiran).
Frenchie
1
Ah, ya, regex bukan wildcard - oops!
Nick Bolton
Saya telah menginstal mysql 5.5 pada jessie raspbian saya. Setelah upgrade, saya tidak tahu mengapa tetapi itu dibiarkan salah konfigurasi, yang mencegahnya dihapus dengan benar. Jawaban Anda benar-benar menghapus server mysql 5.5 dan saya dapat memperbarui. Waspadalah Anda akan kehilangan file konfigurasi (basis data?) Jika Anda tidak membuat cadangan.
russellhoff
2

Ini bekerja untuk saya (saya juga mencoba menginstal v5.0, tetapi ini memperburuk masalah):

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

Saya pikir kuncinya di sini adalah menghapus mysql-common- tapi saya tidak yakin. Silakan coba ini dan tinggalkan komentar Anda.

Nick Bolton
sumber
Jika Anda menggunakan 5.0 dan di atasnya maka apt-get purge ...sama denganapt-get --purge remove ...
Zoredache
1

Saya punya beberapa masalah dengan itu. Bahkan setelah menghapus semua paket server, ada beberapa file konfigurasi yang diinstal oleh mysql-common, yang merupakan ketergantungan libmysqlclient.

Coba gunakan dpkg -S /etc/mysqluntuk melihat paket mana yang menginstal file-file itu.

Jorge Bernal
sumber
0

Anda juga dapat menggunakan dpkg -P untuk mencapai ini

Dari halaman manual dpkg

 -P or --purge removes everything, including configuration files.
Dominik
sumber