Lỗi khi cài đặt mySql trên Ubuntu 16.04


15

Tôi đã làm theo các hướng dẫn trên trang này để cài đặt mysql trên Ubuntu 16.04.

Tôi đang đi được nửa đường xuống trang đó ở phần có tiêu đề "Cài đặt và cấu hình MySQL" và tôi chạy lệnh sudo apt-get install mysql-server. Tôi đã gặp một lỗi, tuy nhiên, đây là đầu ra của lỗi đó trong thiết bị đầu cuối của tôi:

Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 41515 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-common (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-client-5.7.
Preparing to unpack .../mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ...
Unpacking mysql-client-5.7 (5.7.12-0ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-common (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Selecting previously unselected package mysql-server-5.7.
(Reading database ... 41563 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.12-0ubuntu1_amd64.deb ...
Unpacking mysql-server-5.7 (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-server.
Preparing to unpack .../mysql-server_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-server (5.7.12-0ubuntu1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-client-5.7 (5.7.12-0ubuntu1) ...
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
mysql_upgrade: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: error processing package mysql-server-5.7 (--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.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Đây là lần đầu tiên tôi thiết lập một máy chủ và cũng cài đặt mysql. Không chắc đây có phải là nguyên nhân có thể gây ra lỗi hay không, nhưng trước đây tôi đã thử cài đặt mysql nhưng không tuân theo quy trình LAMP (tôi mới tìm ra điều này) và điều đó không thành công và tôi phải gỡ cài đặt.


Chào mừng bạn đến với AskUbfox. Trong nhật ký của bạn có một dòng Access denied for user 'debian-sys-maint'@'localhost'. Người dùng đó đến từ đâu? Tôi sẽ không tìm thấy nó trên một hệ thống Ubuntu.
guntbert

Xin chào guntbert - với một chút tìm kiếm có vẻ như debian.cnftập tin của nó . Tôi tìm thấy stackoverflow.com/questions/11644300/ này - và nhìn vào câu trả lời có 47 điểm (không phải câu trả lời được chấp nhận) có một mật khẩu không khớp. Tôi đang thử nó - không thành công, vì tôi không biết mật khẩu là gì!
Darren Haynes

Câu trả lời này giải quyết vấn đề cho tôi mà không cần thanh lọc mysql: https://askubfox.com/a/793545/597698
Elkana Bardugo

Câu trả lời:


17

Câu trả lời này cũng là câu trả lời cho bản nâng cấp 16.04 đã phá vỡ máy chủ mysql nhưng tôi không thể trả lời vì quản trị viên đã khóa nó thành 10 danh tiếng.

Lỗi trong APT xảy ra trong quá trình nâng cấp Ubuntu lên 16.04 (xenial) và Mysql từ 5.5 lên 5.7. Do một số vấn đề về đóng gói, việc nâng cấp APT kết thúc trong tình trạng lấp lửng do tập lệnh cài đặt bài đăng của Mysql-server-5.7 không hoàn thành.

Để giải quyết vấn đề, hãy thử các bước sau:

  1. apt purge mysql-serverapt autoremoveđể xóa tất cả dấu vết của MYSQL cũ. Dữ liệu cơ sở dữ liệu sẽ không bị phá hủy.
  2. Xóa mọi thứ khỏi /etc/mysqlthư mục.
  3. Xác minh không có gói Mysql cũ nào được cài đặt: dpkg -l | grep mysql
  4. apt install mysql-server để cài đặt

Nếu các bước này kết thúc trong cùng một cài đặt chưa hoàn tất, hãy thử bước tiếp theo:

  1. Tail -n 20 /var/log/mysql/error.log
  2. Các lỗi có thể là a. mật khẩu xấu cho debian-sys-duy trì b. không có bộ nhớ cho Innodb

Giải quyết 2a: Bạn cần nâng cấp các bảng hệ thống Mysql từ 5.5 lên 5.7

Chỉnh sửa my.cnf để bao gồm trong '[mysqld]' dòng "bỏ qua cấp bảng" service mysql startmysql_upgrade --force -u root -p

Giải quyết 2b: Bạn đang thiếu bộ nhớ cho nhóm Mysql Innodb (bạn có đang sử dụng máy chủ có kích thước siêu nhỏ không?)

Chỉnh sửa my.cnf để bao gồm trong '[mysqld]' dòng innodb_buffer_pool_size = 20M

nhóm innodb mặc định là 128M, chặt chẽ trong máy ảo 512M

Để xóa lỗi APT, hãy cài đặt lại bài

dpkg --configure -a

Nó sẽ xóa cơ sở dữ liệu hay nó sẽ vẫn an toàn?
Thirumal

5

Loại bỏ hoàn toàn mysql và cài đặt lại là giải pháp cuối cùng tôi đã tìm đến. Mặc dù tôi đã cố gắng gỡ cài đặt và cài đặt lại một lần không thành công (do đó mang đến cho tôi để hỏi câu hỏi này). Tôi đã thử gỡ cài đặt kỹ lưỡng hơn sau khi tìm thấy lời khuyên trên trang này: Gỡ cài đặt hoàn toàn MySQL

Thực hiện theo các hướng dẫn gỡ cài đặt ở đó và cài đặt lại đã giải quyết vấn đề.


5

Một giải pháp tốt khác:

sudo apt-get purge mysql* && sudo apt-get install mysql-server

3

Điều này làm việc cho tôi:

sudo apt-get remove --purge mysql*

Lệnh này sẽ hỏi bạn nếu bạn muốn BỎ cơ sở dữ liệu của bạn từ /var/lib/mysqlvà cũng sẽ loại bỏ tất cả các trường hợp khác của mysql!

Vì vậy, thực hiện BACKUP cơ sở dữ liệu của bạn đầu tiên!

Sau này tôi có thể cài đặt cơ sở dữ liệu bằng cách phát lệnh:

sudo apt-get install mysql-server

1

Cố gắng xóa tất cả các gói và tệp, sau đó cài đặt lại "máy chủ mysql"

sudo apt-get remove --purge mysql-\*
sudo rm -rf /var/lib/mysql

sudo apt-get install mysql-server 

1

Trước tiên, bạn đã xóa tất cả các gói của mysql-server:

sudo rm -rf /var/lib/mysql

Sau đó cài đặt:

sudo apt-get install lamp-server^

Hoặc bạn có thể làm:

sudo apt-get install mysql-server

1
Xin đừng đăng rm -rf mà không nói loại thông tin nào lệnh này sẽ phá hủy.
Brian 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.