Điểm:1

Ubuntu 20.10 Không thể cài đặt hoặc gỡ cài đặt MySQL

lá cờ cn

Khi cố gắng cập nhật hệ thống của tôi trước khi nâng cấp lên 21.04 LTS, MySQL đã báo lỗi không thể cập nhật cũng như sửa chữa nên tôi đã xóa nó bằng:

Sudo apt thanh lọc mysql-server-8.0
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Các gói sau sẽ bị LOẠI BỎ:
  mysql-server-8.0*
0 đã nâng cấp, 0 mới cài đặt, 1 cần xóa và 0 chưa nâng cấp.
Sau thao tác này, 0 B dung lượng đĩa bổ sung sẽ được sử dụng.
Bạn có muốn tiếp tục? [Y/n] y
(Đọc cơ sở dữ liệu ... 555934 tệp và thư mục hiện được cài đặt.)
Đang xóa các tệp cấu hình cho mysql-server-8.0 (8.0.17-0ubuntu2) ...
Xử lý kích hoạt cho systemd (246.6-1ubuntu1.3) ...

Tuy nhiên, bây giờ nó sẽ không cài đặt lại.

sudo apt-get cài đặt mysql-client
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Không thể cài đặt một số gói. Điều này có thể có nghĩa là bạn có
yêu cầu một tình huống không thể hoặc nếu bạn đang sử dụng không ổn định
phân phối mà một số gói bắt buộc chưa được tạo
hoặc đã được chuyển ra khỏi Incoming.
Thông tin sau đây có thể giúp giải quyết tình huống:

Các gói sau đây có các thuộc tính không được đáp ứng:
 mysql-common : Xung đột: mysql-client-8.0 nhưng 8.0.25-0ubuntu0.20.10.1 sẽ được cài đặt
                Xung đột: mysql-client-core-8.0 nhưng 8.0.25-0ubuntu0.20.10.1 sẽ được cài đặt

Một cái gì đó dường như bị hỏng nhưng không chắc chắn là gì vậy tôi phải tiếp tục như thế nào?

Đây là một số đầu ra bổ sung dựa trên các ý kiến:

Sudo apt cập nhật
Lần truy cập: 1 http://archive.ubuntu.com/ubuntu groovy InRelease
Lần truy cập:2 http://archive.ubuntu.com/ubuntu groovy-updates InRelease
Lần truy cập:3 http://archive.ubuntu.com/ubuntu groovy-security InRelease
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Tất cả các gói được cập nhật.
sudo apt sạch

sudo apt autoremove
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
0 đã nâng cấp, 0 mới cài đặt, 0 cần xóa và 0 chưa nâng cấp.

sudo apt --fix-break cài đặt
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
0 đã nâng cấp, 0 mới cài đặt, 0 cần xóa và 0 chưa nâng cấp.

cập nhật sudo apt && nâng cấp sudo apt
Lần truy cập: 1 http://archive.ubuntu.com/ubuntu groovy InRelease
Lần truy cập:2 http://archive.ubuntu.com/ubuntu groovy-updates InRelease
Lần truy cập:3 http://archive.ubuntu.com/ubuntu groovy-security InRelease
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Tất cả các gói được cập nhật.
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Đang tính nâng cấp... Xong
0 đã nâng cấp, 0 mới cài đặt, 0 cần xóa và 0 chưa nâng cấp.

Sudo dpkg --configure -a

Sudo apt cài đặt -f
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
0 đã nâng cấp, 0 mới cài đặt, 0 cần xóa và 0 chưa nâng cấp.

Sau đó, đã cố gắng cài đặt mysql-client gây ra lỗi trên mysql-client mặc dù nó chưa được cài đặt:

sudo apt cài đặt mysql-client
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Không thể cài đặt một số gói. Điều này có thể có nghĩa là bạn có
yêu cầu một tình huống không thể hoặc nếu bạn đang sử dụng không ổn định
phân phối mà một số gói bắt buộc chưa được tạo
hoặc đã được chuyển ra khỏi Incoming.
Thông tin sau đây có thể giúp giải quyết tình huống:

Các gói sau đây có các thuộc tính không được đáp ứng:
 mysql-common : Xung đột: mysql-client-8.0 nhưng 8.0.25-0ubuntu0.20.10.1 sẽ được cài đặt
                Xung đột: mysql-client-core-8.0 nhưng 

8.0.25-0ubuntu0.20.10.1 sẽ được cài đặt

E: Không thể khắc phục sự cố, bạn đã giữ các gói hàng bị hỏng.

Các nỗ lực bổ sung:

sudo apt cài đặt mysql-client
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Không thể cài đặt một số gói. Điều này có thể có nghĩa là bạn có
yêu cầu một tình huống không thể hoặc nếu bạn đang sử dụng không ổn định
phân phối mà một số gói bắt buộc chưa được tạo
hoặc đã được chuyển ra khỏi Incoming.
Thông tin sau đây có thể giúp giải quyết tình huống:

Các gói sau đây có các thuộc tính không được đáp ứng:
 mysql-common : Xung đột: mysql-client-8.0 nhưng 8.0.25-0ubuntu0.20.10.1 sẽ được cài đặt
                Xung đột: mysql-client-core-8.0 nhưng 8.0.25-0ubuntu0.20.10.1 sẽ được cài đặt
E: Không thể khắc phục sự cố, bạn đã giữ các gói hàng bị hỏng.

Sudo apt thanh lọc mysql-client-8.0
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Gói 'mysql-client-8.0' chưa được cài đặt nên không bị xóa
0 đã nâng cấp, 0 mới cài đặt, 0 cần xóa và 0 chưa nâng cấp.

Sudo apt thanh lọc mysql-client-core-8.0
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Gói 'mysql-client-core-8.0' chưa được cài đặt nên không bị xóa
0 đã nâng cấp, 0 mới cài đặt, 0 cần xóa và 0 chưa nâng cấp.

Có vẻ như nó nói với tôi rằng MySQL chưa được cài đặt nhưng việc cài đặt nó bị xung đột! Làm thế nào để tôi giải quyết câu hỏi hóc búa này?

Điểm:3
lá cờ in

Điều này đôi khi có thể được khắc phục bằng cách làm sạch đúng cách một chút. Trong một thiết bị đầu cuối, hãy thử điều này:

cập nhật sudo apt
sudo apt sạch
sudo apt autoremove

Bây giờ hãy thử cài đặt máy khách MySQL. Nếu lỗi vẫn còn, thì bạn có thể cần "sửa" cài đặt:

sudo apt --fix-break cài đặt
cập nhật sudo apt && nâng cấp sudo apt
Sudo dpkg --configure -a
Sudo apt cài đặt -f

Bây giờ bạn sẽ có thể cài đặt ứng dụng khách:

sudo apt cài đặt mysql-client

Ghi chú: Mặc dù bạn đã gỡ bỏ MySQL Server, nhưng vẫn còn một số tệp tồn tại trong /var/lib/mysql. Chúng được cố tình để lại sau khi gỡ cài đặt. Nếu bạn không cần bất kỳ cơ sở dữ liệu nào đã có trước đây, vui lòng xóa thư mục này. Bạn cũng có thể có /etc/mysql dính xung quanh, cũng có thể bị xóa nếu bạn không cần các tệp cấu hình nữa.


Chà MySQL từ Ubuntu (18.04 trở lên)

Nếu MySQL từ chối chơi tốt, thì bạn có thể cần làm theo các bước sau để xóa hoàn toàn nó khỏi hệ thống:

  1. Mở Terminal (nếu chưa mở)
  2. Đảm bảo quá trình MySQL bị dừng (ngay cả khi nó không chạy):
    Sudo systemctl dừng mysqld
    
  3. Xóa các gói MySQL khỏi hệ thống của bạn:
    sudo apt purge mysql-server mysql-common mysql-server-core-* mysql-client-core-*
    
    Và, để đảm bảo tính hoàn chỉnh, hãy đảm bảo rằng không có bản cài đặt MariaDB nào trên hệ thống:
    sudo apt purge máy chủ mariadb 
    
  4. Kiểm tra các gói còn lại:
    sudo dpkg -l | grep mysql
    
    Lý tưởng nhất là bạn sẽ nhận được kết quả bằng không. Tuy nhiên, nếu có bất kỳ thứ gì vẫn được cài đặt, bạn có thể thấy nội dung như sau:
    ii libmysqlclient21:amd64 8.0.25-0ubuntu0.20.04.1 AMD64 Thư viện máy khách cơ sở dữ liệu MySQL
    ii php-mysql 2:7.4+75 tất cả mô-đun MySQL cho PHP [mặc định]
    ii php7.4-mysql 7.4.3-4ubuntu2.4 mô-đun MySQL AMD64 cho PHP
    
    Nếu bạn thấy các giá trị, thanh lọc apt họ ra khỏi hệ thống:
    Sudo apt thanh lọc php-mysql php7.4-mysql libmysqlclient21
    
    Làm tương tự với MariaDB:
    sudo dpkg -l | grep mariadb
    
  5. Xóa hệ thống tệp của các thư mục MySQL (cũng được sử dụng bởi MariaDB):
    sudo rm -rf /var/lib/mysql/
    sudo rm -rf /etc/mysql/
    sudo rm -rf /var/log/mysql
    
    Kiểm tra kỹ và xóa các tệp đó:
    sudo find / -iname 'mysql*' -exec rm -rf {} \;
    
    QUAN TRỌNG: Lệnh này sẽ xóa bất kỳ tệp nào bắt đầu bằng mysql từ hệ thống của bạn mà không yêu cầu xác nhận. Hãy chắc chắn sử dụng điều này với rất nhiều sự quan tâm và cân nhắc.
  6. Xóa tài khoản và nhóm người dùng MySQL:
    sudo deluser --remove-home mysql
    sudo delgroup mysql
    
    Trong trường hợp bạn không thể xóa nhóm, hãy kiểm tra xem có tài khoản người dùng nào khác thuộc nhóm MySQL hay không:
    ít hơn /etc/passwd
    
    Nếu tìm thấy, hãy xóa người dùng khỏi nhóm, sau đó phân nhóm lần nữa.
  7. Xóa mọi PPA của bên thứ ba có thể đã được sử dụng để cài đặt các bản dựng cụ thể của MySQL
  8. Cập nhật danh sách nguồn của bạn:
    sudo apt autoremove -y
    sudo apt autoclean
    
  9. Lấy một tách cà phê, vì đã đến lúc nghỉ ngơi âï¸

Miễn là bạn không có một số loại hệ thống XAMPP được định cấu hình trên máy của mình, điều này sẽ loại bỏ hoàn toàn công cụ cơ sở dữ liệu khỏi máy của bạn.

DonP avatar
lá cờ cn
Tôi đã thêm đầu ra từ câu trả lời ở trên vì mysql-client vẫn không cài đặt, dường như đưa ra lỗi mà nó xung đột với chính nó mặc dù chưa được cài đặt.
DonP avatar
lá cờ cn
Tôi biết các tệp còn sót lại vì tôi cố tình không xóa nội dung hoặc thư mục cơ sở dữ liệu.
DonP avatar
lá cờ cn
Vẫn bị mắc kẹt ở đây. Ubuntu cuối cùng đã tự nâng cấp sáng nay lên v21.04 nhưng dường như MySQL vẫn bị kẹt ở chế độ có thể gỡ cài đặt.
lá cờ in
Đã cập nhật câu trả lời để bao gồm quy trình thiêu đốt trái đất để buộc MySQL ra khỏi hệ thống.
DonP avatar
lá cờ cn
Điều đó đã lừa, cảm ơn bạn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.