Bagaimana cara menghapus MySQL sepenuhnya dari instalasi linux?

8

Saya terkejut menemukan bahwa salah satu pengguna istimewa saya menginstal MySQL pada kotak linux. Server (mysqld) sedang berjalan dan tidak melakukan apa-apa. Semua keahlian saya ada di Oracle, jadi saya tidak terbiasa dengan cara mematikan dan menghapus instalasi MySQL.

dacracot
sumber

Jawaban:

21

Anda tidak menyebutkan distribusi apa yang Anda gunakan, tetapi jika mereka menginstalnya melalui yum pada distribusi berbasis RedHat Anda dapat menghapus dengan:

yum remove mysql-server

Jika mereka menginstalnya di ruang pengguna mereka sendiri, Anda hanya akan menghapus file biner yang menjalankan server. Jika ada di Debian / Ubuntu Anda akan menggunakan metode percikan yang disebutkan. Saya juga akan menggunakan:

killall mysqld; killall mysqld_safe
Dave Drager
sumber
4
Sebaiknya biasakan menggunakan pkill dan bukannya killall. Anda mungkin berakhir pada kotak Solaris suatu hari nanti :)
MikeyB
4
Saya lebih suka /sbin/service mysql stop. Kemudian Anda dapat chkconfig mysql offmenonaktifkannya dari memulai kembali. Kemudian cara yang aman untuk menghapus dari distro berbasis RPM (sebagai root) rpm -qa | grep mysql, kemudian rpm -e mysql-<package_name>.
churnd
pkill mysqld; pkill mysqld_safebekerja dengan sangat baik. Berusaha killall mysqld; killall mysqld_safetidak berhasil. Pada Fedora 18 saya sukses dengan pkill, terima kasih MikeyB.
RyanMichael
Saya juga harus menggunakan: yum menghapus mysql , sebagai perintah yang mysql masih menunjukkan jalur yang diinstal mysql.
shasi kanth
6

Itu semua tergantung pada bagaimana pengguna asli menginstal paket. Jika mereka menggunakan manajemen paket bawaan sistem operasi, itu semudah baris yum dalam jawaban Dave atau pada sistem berbasis Debian (termasuk Ubuntu), Anda dapat menggunakan:

apt-get remove mysql-server

(Sebagai tambahan, gunakan pembersihan daripada menghapus jika Anda juga ingin menghapus file konfigurasi khusus)

Jika Anda tidak tahu nama paket yang harus dihapus di Ubuntu:

dpkg -l|grep mysql

Jika pengguna tersebut tidak menggunakan alat manajemen paket, maka satu-satunya solusi nyata adalah dengan memastikan bahwa server tidak memuat pada saat startup (chkconfig atau update-rc.d adalah dua alat yang berguna untuk itu - periksa orang mereka halaman) dan secara manual menghapus semua file yang diinstal.


sumber
Ups, maaf untuk jawaban ubuntu yang berlebihan - biarkan saja untuk saran chkconfig dan pembaruan-rc.d ...)
Pastikan untuk menghapus alat GUI / workbench juga dalam kasus yang diinstal: sudo apt-get remove mysql-workbench
pm_labs
2

Jika pengguna mengatur database apa pun, Anda mungkin perlu menghapusnya juga. Dalam instalasi basis paket MySQL, file tabel dapat ditemukan di /var/lib/mysql. Jika ada di tempat lain, Anda bisa mencari file tabel. Mereka akan memiliki .frmekstensi, dan harus terkandung dalam direktori bernama setelah database mereka terkait.

rvf
sumber
1

Bergantung pada distribusi Anda, Anda harus memiliki opsi untuk mematikannya dengan skrip init di "/etc/init.d/mysql stop". Jika gagal, Anda dapat mematikan proses dengan sesuatu yang mirip dengan "for i in ps -ef |grep mysqld |awk '{print $2}'; do kill -9 $i; done"

Ini benar-benar akan tergantung pada bagaimana mereka menginstalnya untuk bagaimana Anda menghapusnya. Jika Anda menjalankan distribusi berbasis debian: "sudo apt-get remove mysqld"

Per komentar Zoredache Anda juga dapat melakukan: "sudo apt-get purge mysqld" yang juga akan menghapus file konfigurasi.

sclarson
sumber
1
Anda mungkin ingin 'apt-get purge' alih-alih menghapus jika Anda ingin sepenuhnya menghilangkan semuanya. Nama paket mungkin akan menjadi 'mysql-server' dan 'mysql-common' dan bukan mysqld.
Zoredache
0

Mungkin pengguna itu sendiri tidak tahu bahwa ia menginstal mysql. Itu bisa terjadi jika mysql adalah ketergantungan dari beberapa program lain. Lihatlah logfile manajer paket, mis .: untuk redhat, periksa /var/log/yum.log. Anda mungkin akan menemukan beberapa paket lagi yang diinstal secara bersamaan. Anda kemudian dapat menyimpulkan apa yang ingin dilakukan pengguna, dan mungkin Anda juga ingin menghapus beberapa paket lain yang tidak Anda ketahui tentang instalasi!

Pada redhat baru-baru ini Anda dapat misalnya menjalankan "daftar riwayat yum", kemudian setelah Anda menemukan tanggal instalasi di /var/log/yum.log, Anda dapat menyimpulkan operasi yum mana yang terkait dengan instalasi mysql, dan Anda dapat untuk contoh "yum history info operation_number" untuk mendapatkan detail instalasi, atau "yum history undo operation_number" untuk mengembalikan operasi dan menghapus instalasi paket terkait.

Rosco
sumber
0

Mungkin pengguna itu sendiri tidak tahu bahwa ia menginstal mysql. Itu bisa terjadi jika mysql adalah ketergantungan dari beberapa program lain. Lihatlah logfile manajer paket, mis: untuk cek redhat /var/log/yum.log. Anda mungkin akan menemukan beberapa paket lagi yang diinstal secara bersamaan. Anda kemudian dapat menyimpulkan apa yang ingin dilakukan pengguna, dan mungkin Anda juga ingin menghapus beberapa paket lain yang tidak Anda ketahui tentang instalasi!

md wajaheth
sumber