Gặp sự cố khi cài đặt và gỡ bỏ MySQL trong Ubuntu


26

Tôi gặp sự cố khi cài đặt hoặc gỡ bỏ phần mềm mysql-server-5.6 được cài đặt một phần trong ubfox15.04. Lỗi tôi nhận được là

$ sudo apt-get -f install 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  mysql-server-5.6
The following packages will be upgraded:
  mysql-server-5.6
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
22 not fully installed or removed.
Need to get 0 B/5,501 kB of archives.
After this operation, 50.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Preconfiguring packages ...
Setting up mysql-common (5.6.24-0ubuntu2) ...
update-alternatives: error: alternative path                 /etc/mysql/my.cnf.fallback doesn't exist
dpkg: error processing package mysql-common (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 mysql-common
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB
localepurge: Disk space freed in /usr/share/doc/kde/HTML: 0 KiB

Total disk space freed by localepurge: 0 KiB

E: Sub-process /usr/bin/dpkg returned an error code (1)

Có ai có thể giúp tôi với cái này?


Tốt hơn có thể loại bỏ và hy vọng cài đặt lại sạch sẽ tốt tôi nghĩ.
vembutech

Tôi đã thử quá trình này nhưng tôi vẫn gặp sự cố, tức là tôi có thể gỡ cài đặt hoặc cài đặt lại máy chủ mysql
Shameerariff

1
Tôi đã cố gắng hết sức để tìm ra nguyên nhân của vấn đề. Tôi đã xóa dữ liệu khỏi tệp trạng thái apt và cập nhật apt, nơi tôi nhận thấy hệ thống đang gặp sự cố với libgcc1 libc6. Tôi đang cố gắng giải quyết vấn đề Sẽ tiếp tục đăng trạng thái dựa trên những phát hiện của tôi.
Shameerariff

Câu trả lời:


55

Hãy thử làm một cuộc thanh trừng, sau đó cài đặt lại.

sudo apt-get remove --purge mysql-\*
sudo apt-get install mysql-server mysql-client

Cập nhật 04.09.2018:
Nếu bạn gặp sự cố khi gỡ cài đặt / cài đặt vì quá trình MySQL đang hoạt động, bạn có thể thử điều này trước, sau đó ở trên:
sudo kill $(pgrep mysql)


Tôi đã thử quá trình này nhưng tôi vẫn gặp sự cố, tức là tôi có thể gỡ cài đặt hoặc cài đặt lại máy chủ mysql
Shameerariff

Các hướng dẫn ban đầu đã loại bỏ siêu dữ liệu, đó là một lệnh cấm. Các hướng dẫn chỉnh sửa mới hoạt động với 16.04.
mrm

Làm việc cho tôi trên hệ điều hành tiểu học.
MChaker

2
Điều này làm việc cho tôi chỉ sau khi tôi đã kiểm tra ps -aef | grep mysqlvà gửi một tín hiệu kill cho tất cả các loại chạy mysqld.
Charney Kaye

12

Một giải pháp rất đơn giản mà tôi (linux noob) đã phải khai thác ... là tạo tệp.

nano /etc/mysql/my.cnf.fallback

và điền nó với nội dung mặc định từ gói 5.7.11-0ubfox6 phổ biến của mysql.

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

!includedir /etc/mysql/conf.d/

tìm thấy ở đây tại apt-browse.org


Đây là một câu trả lời tốt hơn so với câu trả lời vì nó khắc phục vấn đề thực tế mà không phải sử dụng phương pháp vũ phu.
devius

Trong trường hợp của tôi touch /etc/mysql/my.cnf.fallbackđã cho tôi vượt qua vấn đề.
oalder

9

Purge / Cài đặt lại cũng không làm việc cho tôi. Tôi tìm thấy "giải pháp" sau:

Tôi không thể tìm thấy mysql.cnf.fallbackđược liệt kê trong "tệp được cung cấp" cho mysql-server-5.6/ mysql-client-5.6cũng như bất kỳ thông tin bổ sung nào về tệp.

Tôi đã sao chép /etc/mysql/my.cnfvào /etc/mysql/my.cnf.fallback(đoán rằng đây sẽ là một tệp cấu hình "dự phòng" tương đối ít quan trọng hơn);

/etc/mysql/my.cnflà một liên kết tượng trưng, ​​vì vậy ls /etc/mysqlbây giờ hiển thị:

 my.cnf.fallback -> /etc/alternatives/my.cnf
 my.cnf -> /etc/alternatives/my.cnf

Việc cài đặt gói sau đó hoàn tất không có lỗi (vì có lẽ vấn đề "không tồn tại" đã được "giải quyết").

Tôi đã không gặp bất kỳ tác dụng phụ (chưa).


Điều này nghe có vẻ tuyệt vời nhưng bạn có thể giải thích lý do của vấn đề, Nó sẽ có ích cho những người khác.
Shameerariff

5

Tôi đã gặp vấn đề tương tự trong khi cố gắng thanh lọc máy chủ mysql (5.7,14).

Trong trường hợp các tệp my.cnf * bị thiếu, bạn có thể cài đặt lại gói mysql-common và sau đó, bạn có thể lọc cả hai ( mysql-server & mysql-common )

Các tệp my.cnf * này thuộc gói chung của mysql (xem bên dưới):

$ dpkg -L mysql-common | grep cnf
/etc/mysql/my.cnf.fallback
/etc/mysql/conf.d/mysql.cnf


1. Cài đặt lại mysql-common

cài đặt apt-get - cài đặt mysql-common

  1. Thanh lọc phổ biến mysql

apt-get thanh trừng mysql-chung


1

Tôi đã kiểm tra /etc/mysql/thư mục của mình và thấy nó hoàn toàn trống rỗng, ngoài một thư mục con trống conf.d.

cd /etc/
# you need to delete the empty mysql folder otherwise the ln below creates the link inside the existing mysql folder
sudo rm -r mysql
sudo ln -s ./mysql.bak/ mysql

sau đó (lịch sự của liên kết này liên kết này )

sudo dpkg --configure -a

và bây giờ tất cả xuất hiện ổn.

Liên kết ở trên cũng đề cập đến --force-dependsnhưng tôi không cần điều này. Nó cũng đề cập đến apt-get -f installnhưng một lần nữa tôi không cần điều này.


Đây chính xác là vấn đề của tôi. CÁi này đã sửa nó giúp tôi.
Dave Kincaid

0

Theo ghi nhận của charneykaye trong các bình luận, cách tiếp cận này có thể thất bại nếu có một số mysqlquy trình trong nền. Tôi đã sử dụng:

emil-mint-desktop ~ # ps -aef | grep mysql
root      6682     1  0 16:45 ?        00:00:00 sudo mysqld_safe --skip-grant-tables
root      6683  6682  0 16:45 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql     7046  6683  0 16:45 ?        00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --log-syslog=1 --log-syslog-facility=daemon --log-syslog-tag=
root     21046  9812  0 17:32 pts/5    00:00:00 grep --color=auto mysql

Giết 3 quy trình đầu tiên (quy trình cuối cùng là grepchính cuộc gọi!) Bằng cách sử dụng:

kill -9 6682 8883 7046

Sau đó loại bỏ mọi thứ mysqlliên quan:

apt remove --purge mysql-\*
apt autoremove
apt autoclean

và sau đó cài đặt:

apt install mysql-server

Sau đó, nó làm việc.

Phiên bản:

  • Mint 18.1 (dựa trên Ubuntu). Bạn sẽ cần phải thay thế aptcho apt-getcho một số phiên bản khác.

0

Tôi tìm thấy một giải pháp dễ dàng cho điều đó:

Bước đầu tiên: apt-get install mysql-common --reinstall

Bước thứ hai: apt-get install mysql-server --reinstall

Và nó hoạt động!


0

Sau khi thử tất cả các câu trả lời ở trên, tôi đã có thể khắc phục vấn đề này với:

sudo rm /etc/rc5.d/S03mysql

Sau đó đã có thể chạy:

sudo apt thanh lọc mysql-server mysql-server-5.7 mysql-server-core-5.7

sudo apt-get -f cài đặt mysql-server - thiếu -fix - bị hỏng

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.