Làm cách nào để loại bỏ hoàn toàn MySQL khỏi cài đặt linux?


8

Tôi đã rất ngạc nhiên khi thấy rằng một trong những người dùng đặc quyền của tôi đã cài đặt MySQL trên một hộp linux. Máy chủ (mysqld) đang chạy và không làm gì cả. Các kỹ năng của tôi đều có trong Oracle, vì vậy tôi không quen với cách tắt và gỡ cài đặt MySQL.

Câu trả lời:


21

Bạn đã không đề cập đến phân phối nào bạn đang sử dụng, nhưng nếu họ đã cài đặt nó qua yum trên bản phân phối dựa trên RedHat, bạn có thể xóa bằng:

yum remove mysql-server

Nếu họ cài đặt nó trong không gian người dùng của riêng họ, bạn sẽ chỉ xóa các tệp nhị phân đang chạy máy chủ. Nếu có trên Debian / Ubuntu, bạn sẽ sử dụng các tia lửa phương thức được đề cập. Tôi cũng sẽ sử dụng thay thế:

killall mysqld; killall mysqld_safe

4
Đó là một ý tưởng tốt để tập thói quen sử dụng pkill thay vì killall. Bạn có thể kết thúc với một hộp Solaris một ngày nào đó :)
MikeyB

4
Tôi thích /sbin/service mysql stop. Sau đó, bạn có thể chkconfig mysql offvô hiệu hóa nó từ khởi động lại. Sau đó, cách không an toàn để loại bỏ khỏi các distro dựa trên RPM (như root) rpm -qa | grep mysql, sau đó rpm -e mysql-<package_name>.
churnd

pkill mysqld; pkill mysqld_safelàm việc tuyệt vời Cố gắng killall mysqld; killall mysqld_safeđã không thành công. Trên Fedora 18 tôi đã thành công với pkill, cảm ơn MikeyB.
RyanMichael

Tôi cũng đã phải sử dụng: yum loại bỏ mysql , vì lệnh mà mysql vẫn đang hiển thị đường dẫn cài đặt mysql.
shasi kanth

6

Tất cả phụ thuộc vào cách người dùng ban đầu cài đặt gói. Nếu họ đã sử dụng quản lý gói được tích hợp sẵn của hệ điều hành, thì nó sẽ dễ dàng như dòng yum trong câu trả lời của Dave hoặc trên hệ thống dựa trên Debian (bao gồm Ubuntu), bạn có thể sử dụng:

apt-get remove mysql-server

(Tạm thời, sử dụng thanh lọc thay vì xóa nếu bạn cũng muốn xóa các tệp cấu hình tùy chỉnh)

Nếu bạn không biết tên gói chính xác cần xóa trên Ubuntu:

dpkg -l|grep mysql

Nếu người dùng trong câu hỏi không sử dụng công cụ quản lý gói, thì giải pháp thực sự duy nhất là chỉ cần đảm bảo rằng máy chủ không tải khi khởi động (chkconfig hoặc update-rc.d là hai công cụ hữu ích cho việc đó - kiểm tra người đàn ông của họ trang) và xóa thủ công tất cả các tệp đã cài đặt.


Rất tiếc, xin lỗi vì câu trả lời ub Ubuntu dư thừa - hãy để lại cho đề xuất chkconfig và update-rc.d ...)

Đảm bảo xóa các công cụ / bàn làm việc GUI trong trường hợp đã được cài đặt: sudo apt-get remove mysql-workbench
pm_labs

2

Nếu người dùng tình cờ thiết lập bất kỳ cơ sở dữ liệu nào, bạn cũng có thể cần phải xóa những cơ sở dữ liệu đó. Trong cài đặt cơ sở gói của MySQL, các tệp bảng có thể được tìm thấy trong /var/lib/mysql. Nếu chúng ở nơi khác, bạn chỉ có thể tìm kiếm các tệp bảng. Chúng sẽ có một .frmphần mở rộng và nên được chứa trong một thư mục được đặt tên theo cơ sở dữ liệu mà chúng được liên kết.


1

Tùy thuộc vào bản phân phối của bạn, bạn sẽ có tùy chọn tắt nó với tập lệnh init trong "/etc/init.d/mysql stop". Nếu điều này không thành công, bạn có thể giết các tiến trình với một cái gì đó tương tự như "for i in ps -ef |grep mysqld |awk '{print $2}'; do kill -9 $i; do "

Nó thực sự sẽ phụ thuộc vào cách họ cài đặt nó cho cách bạn loại bỏ nó. Nếu bạn đang chạy một bản phân phối dựa trên debian: "sudo apt-get remove mysqld"

Theo nhận xét của Zoredache, bạn cũng có thể thực hiện: "sudo apt-get purge mysqld" cũng sẽ xóa các tệp cấu hình.


1
Bạn có thể muốn 'apt-get purge' thay vì xóa nếu bạn muốn loại bỏ hoàn toàn mọi thứ. Tên gói có thể sẽ là 'mysql-server' và 'mysql-common' chứ không phải mysqld.
Zoredache

0

Có thể chính người dùng không biết rằng anh ta đã cài đặt mysql. Nó có thể xảy ra nếu mysql là một phụ thuộc của một số chương trình khác. Hãy xem logfile của trình quản lý gói, ví dụ: để kiểm tra lại /var/log/yum.log. Bạn có thể sẽ tìm thấy một số gói được cài đặt cùng một lúc. Sau đó, bạn có thể suy luận những gì người dùng muốn làm và có thể bạn cũng muốn xóa một số gói khác mà bạn không biết về cài đặt!

Trên một redhat gần đây, ví dụ bạn có thể chạy "danh sách lịch sử yum", sau đó sau khi bạn tìm thấy ngày cài đặt trong /var/log/yum.log, bạn có thể suy ra thao tác yum nào có liên quan đến cài đặt mysql và bạn có thể ví dụ "yum history information oper_number" để biết chi tiết về cài đặt hoặc "lịch sử yum hoàn tác thao tác" để hoàn nguyên thao tác và gỡ cài đặt các gói liên quan.


0

Có thể chính người dùng không biết rằng anh ta đã cài đặt mysql. Nó có thể xảy ra nếu mysql là một phụ thuộc của một số chương trình khác. Hãy xem logfile của trình quản lý gói, ví dụ: để kiểm tra lại /var/log/yum.log. Bạn có thể sẽ tìm thấy một số gói được cài đặt cùng một lúc. Sau đó, bạn có thể suy luận những gì người dùng muốn làm và có thể bạn cũng muốn xóa một số gói khác mà bạn không biết về cài đặt!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.