Làm thế nào để cài đặt lại mysql?


38

Một bản nâng cấp phần mềm đã bị hỏng, trong số những thứ khác, mysql và tôi chưa thể lấy lại được.

Nguyên nhân nghi ngờ: Tôi đã có một đĩa khởi động gần đầy; việc nâng cấp đã lấp đầy đĩa trước khi hoàn thành và do đó khiến mọi thứ rơi vào tình trạng lộn xộn. Tôi đã cung cấp cho hệ thống nhiều đĩa hơn và di chuyển / var vào phân vùng riêng của nó. Tôi vẫn không thành công khi cố gắng hồi sinh mysql.

Dưới đây là những gì tôi đã cố gắng cho đến nay (tất cả là root). Đầu tiên, mysql không bắt đầu (443). Nỗ lực sửa chữa (444, 445) không thành công. Nỗ lực để loại bỏ mysql và (?) Apparmor fail (446, 7, 8). Một nỗ lực mạnh mẽ hơn để loại bỏ mysql dường như đã thành công (449) và các lỗi trước đó không còn được nhìn thấy (450, 1, 2). Mysql không thể được cấu hình lại bởi vì nó không còn ở đó nữa (453) nhưng cố gắng cài đặt lại nó sẽ trả lại các thông báo lỗi cũ và chúng tôi quay lại hình vuông (454).

Tôi cũng đã kiểm tra câu hỏi này (mặc dù trong trường hợp của tôi, nó không bị hỏng do nâng cấp lên 12.04: nó đã hoạt động vào ngày 12.10) Khắc phục gói máy chủ myslq bị hỏng sau khi nâng cấp lên 12.04 và thử các đề xuất trong đó (458, 461, 462) vô ích.

Tôi nên làm điều gì khác nữa?

Đây là trên 3.5.0-25 chung # 39-Ubuntu SMP Mon ngày 25 tháng 2 lúc 18 giờ 26 phút UTC 2013 x86_64 x86_64 x86_64 GNU / Linux

    443  service mysql start
         start: Job failed to start

    444  dpkg-reconfigure mysql-server-5.5
         /usr/sbin/dpkg-reconfigure: mysql-server-5.5
         is broken or not fully installed

    445  apt-get -f install
         ...
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         dpkg: dependency problems prevent configuration of
         mysql-server:
         mysql-server depends on mysql-server-5.5; however:
         Package mysql-server-5.5 is not configured yet.
         dpkg: error processing mysql-server (--configure):
         dependency problems - leaving unconfigured
         No apport report written because the error message
         indicates its a followup error from a previous failure.
         Errors were encountered while processing:
           mysql-server-5.5
           mysql-server
         E: Sub-process /usr/bin/dpkg returned an error code (1)

    446  apt-get remove mysql-server
         ...
         Removing mysql-server ...
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         No apport report written because MaxReports is reached already
         Errors were encountered while processing:
           mysql-server-5.5
         E: Sub-process /usr/bin/dpkg returned an error code (1)


    447  apt-get remove apparmor
         ...
         Package 'apparmor' is not installed, so not removed
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
         1 not fully installed or removed.
         After this operation, 0 B of additional disk space will be used. 
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         Errors were encountered while processing:
           mysql-server-5.5
         E: Sub-process /usr/bin/dpkg returned an error code (1)


    448  apt-get remove mysql-server
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         Package 'mysql-server' is not installed, so not removed
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
         1 not fully installed or removed.
         After this operation, 0 B of additional disk space will be used.
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         Errors were encountered while processing:
           mysql-server-5.5
         E: Sub-process /usr/bin/dpkg returned an error code (1)

    449  dpkg -r mysql-server-5.5
         (Reading database ... 322156 files and directories
         currently installed.)
         Removing mysql-server-5.5 ...
         Processing triggers for man-db ...
         Processing triggers for ureadahead ...

    450  apt-get remove mysql-server
         Reading package lists... Done
         Building dependency tree        
         Reading state information... Done
         Package 'mysql-server' is not installed, so not removed
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    451  apt-get remove apparmor
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         Package 'apparmor' is not installed, so not removed
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    452  apt-get -f install
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    453  dpkg-reconfigure mysql-server-5.5
         /usr/sbin/dpkg-reconfigure: mysql-server-5.5 is broken
         or not fully installed

    454  apt-get install mysql-server
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         The following extra packages will be installed:
           mysql-server-5.5
         Suggested packages:
           tinyca mailx
         The following NEW packages will be installed:
           mysql-server mysql-server-5.5
         0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
         Need to get 0 B/8,851 kB of archives.
         After this operation, 32.8 MB of additional disk space
         will be used.
         Do you want to continue [Y/n]? 
         Preconfiguring packages ...
         Selecting previously unselected package mysql-server-5.5.
         (Reading database ... 322081 files and directories
         currently installed.)
         Unpacking mysql-server-5.5 (from 
         .../mysql-server-5.5_5.5.29-0ubuntu0.12.10.1_amd64.deb) ...
         Selecting previously unselected package mysql-server.
         Unpacking mysql-server (from 
         .../mysql-server_5.5.29-0ubuntu0.12.10.1_all.deb) ...
         Processing triggers for ureadahead ...
         Processing triggers for man-db ...
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         dpkg: dependency problems prevent configuration of mysql-server:
           mysql-server depends on mysql-server-5.5; however:
         Package mysql-server-5.5 is not configured yet.
         dpkg: error processing mysql-server (--configure):
         dependency problems - leaving unconfigured
         No apport report written because the error message
         indicates its a followup error from a previous failure.
         Errors were encountered while processing:
           mysql-server-5.5
           mysql-server
         E: Sub-process /usr/bin/dpkg returned an error code (1)


    458  apt-get remove --purge mysql-server
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         The following packages will be REMOVED:
           mysql-server*
         0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
         2 not fully installed or removed.
         After this operation, 116 kB disk space will be freed.
         Do you want to continue [Y/n]? 
         (Reading database ... 322159 files and directories
         currently installed.)
         Removing mysql-server ...
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         Errors were encountered while processing:
           mysql-server-5.5
         E: Sub-process /usr/bin/dpkg returned an error code (1)

    461  touch /etc/apparmor.d/local/usr.sbin.mysqld
         (no output)

    462  service mysql start
         start: Job failed to start

Câu trả lời:


80

Đầu tiên, xóa MySQL:

sudo apt purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo mv -iv /var/lib/mysql /var/tmp/mysql-backup
sudo rm -rf /var/lib/mysql*

Sau đó cài đặt lại:

sudo apt update
sudo apt install mysql-server
sudo mysql_install_db
sudo /usr/bin/mysql_secure_installation

1
giải thích hoàn hảo!
Postadelmaga

Tôi nghĩ rằng đáng để đề cập đến đó --purgekhông nhất thiết là những gì người ta muốn, vì nó cũng sẽ loại bỏ các tệp cấu hình. Trong trường hợp của mysql cụ thể, tôi tự hỏi liệu nó cũng sẽ loại bỏ các dbs không?
user50849

10
Để xóa cấu hình và cơ sở dữ liệu, bạn sẽ phải xóa /etc/mysql/var/lib/mysql.
Anne van Rossum

2
Bạn nên dừng dịch vụ mysql để xóa máy chủ mysql
Viktor

5
2017-05-20 15:12:01 [CẢNH BÁO] mysql_install_db không được dùng nữa. Vui lòng xem xét chuyển sang mysqld --initialize
Flaudre

12

Trong Ubuntu 16.04, cách khắc phục trong trường hợp của tôi là ( vui lòng sao lưu DB trước, cơ sở dữ liệu sẽ bị mất ):

sudo apt remove --purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo mv -iv /var/lib/mysql /var/tmp/mysql-backup
sudo rm -rf /var/lib/mysql*
sudo apt install mysql-server

(Bằng cách nào đó, các cuộc gọi trước đây của tôi apt purge mysql-serverdường như không thành công. Tôi nghĩ rằng điều đó apt purge footương đương với apt remove --purge foo...)


Đây là xóa tất cả các cơ sở dữ liệu. Một bản sao lưu là cần thiết nếu bất kỳ dữ liệu quan trọng.
flickerfly

8

Tôi đã nhận được chính xác các lỗi tương tự và đã thử hầu hết các bước bạn đã làm, với kết quả tương tự. Sau đây cuối cùng đã làm việc cho tôi.

apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5

Sau đó, mysql cài đặt bình thường.


1

Tôi không chắc trường hợp của tôi là gì, nhưng các giải pháp khác không hoạt động, nó cứ bị lỗi. Tôi đã thử điều này apt-get purge mysql-*, sau đó autoremoveautoclean. Sau khi cài đặt là tốt.

**

Hãy chắc chắn sao lưu cơ sở dữ liệu của bạn, lệnh trên cũng có thể xóa chúng

**


0

Nếu bạn chỉ chạy

sudo apt-get update
sudo apt-get install mysql-server

nó sẽ cập nhật mysql và điều này đã khắc phục vấn đề mà tôi gặp phải sau khi cập nhật lên 16.04 lts.

Hoặc chỉ chạy

sudo apt-get install lamp-server^

để cập nhật tất cả các gói máy chủ.


0

Đối với phiên bản MySQL 5.7 tôi đã xóa MySQL như được mô tả trước đây:

sudo apt purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo rm -rf /var/lib/mysql*

Và cài đặt nó với sự giúp đỡ:

sudo apt-get update
sudo apt-get install mysql-server
mysql_secure_installation

Để kiểm tra nếu mọi thứ hoạt động:

systemctl status mysql.service

nguồn


-5

Cài đặt phpMyAdmin từ kho lưu trữ Ubuntu mặc định. Sau đó chạy:

dpkg --configure mysql-server-5.5
apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5
apt-get autoremove
apt-get autoclean
apt-get update
apt-get install  mysql-server
service mysql restart

5
Tại sao phải cài đặt phpMyAdmin ? Điều đó là hoàn toàn không cần thiết.
Lucio
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.