Ubuntu 16.04 Üzerine mySql Yüklenirken Hata Oluştu


15

Ubuntu 16.04 üzerine mysql yüklemek için bu sayfadaki talimatları izliyorum.

"MySQL Install and Configure" başlıklı bölümün yarısında aşağıdayım ve komutu çalıştırıyorum sudo apt-get install mysql-server. Ancak bir hatayı vurdum, işte benim terminalde bu hatanın çıktı:

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)

Bu benim ilk kez bir sunucu kurmak ve aynı zamanda mysql yüklemek. Bu hatanın olası bir nedeni olup olmadığından emin değilim, ancak daha önce mysql'i yüklemeye çalıştım ama LAMP işlemini (bunu anlamaya çalışıyorum) takip etmedim ve başarısız oldu ve kaldırmam gerekiyordu.


AskUbuntu'ya hoş geldiniz. Günlüğünüzde bir satır var Access denied for user 'debian-sys-maint'@'localhost'. Bu kullanıcı nereden geliyor? Bir Ubuntu sisteminde bulmayı beklemiyordum.
guntbert

Merhaba guntbert - küçük bir arama ile debian.cnfdosya gibi görünüyor . Bu stackoverflow.com/questions/11644300/… - buldum ve 47 puan (kabul edilen cevap değil) var cevabına bakarak bir şifre uyuşmazlığı var. Hangi şifrenin ne olduğunu bilmediğim için deniyorum - başarısız!
Darren Haynes

Bu cevap, tasfiye mysql olmadan bana sorunu çözmek: /ubuntu//a/793545/597698
Elkana Bardugo

Yanıtlar:


17

Bu cevap da 16.04 yükseltme mysql-server kırdı cevap ama yönetici 10 itibar kilitli olarak cevap veremem.

APT'deki hata, Ubuntu'nun 16.04'e (xenial) ve Mysql'in 5.5'ten 5.7'ye yükseltilmesi sırasında ortaya çıkar. Bazı paketleme sorunları nedeniyle APT yükseltmesi limbo ile sona erer, çünkü Mysql-server-5.7'nin kurulum sonrası komut dosyası tamamlanamaz.

Sorunu çözmek için şu adımları deneyin:

  1. apt purge mysql-server ve apt autoremoveeski MYSQL'in tüm izlerini temizlemek için. Veritabanı verileri yok edilmeyecektir.
  2. /etc/mysqlDizindeki her şeyi kaldırın .
  3. Yüklü eski Mysql paketi kalmadığından emin olun: dpkg -l | grep mysql
  4. apt install mysql-server yüklemek

Bu adımlar aynı eksik yüklemeyle bitiyorsa, sonraki adımı deneyin:

  1. Tail -n 20 /var/log/mysql/error.log
  2. Hatalar bir olabilir. debian-sys-maint için bozuk parola b. Innodb için hafıza yok

Çözüm 2a: Mysql sistem tablolarını 5.5'ten 5.7'ye yükseltmeniz gerekiyor

My.cnf dosyasını '[mysqld]' altına "skip-grant-tables" satırını ekleyecek şekilde düzenleyin service mysql startvemysql_upgrade --force -u root -p

2b'yi çözün: Mysql Innodb havuzu için bellek yetersiz (mikro boyutlu bir sunucuda mısınız?)

My.cnf dosyasını '[mysqld]' satırının altına dahil edecek şekilde düzenleyin innodb_buffer_pool_size = 20M

varsayılan innodb havuzu 128M'dir, bu 512M VM'de sıkıdır

APT hatasını gidermek için yükleme sonrası işlemini tekrar yapın

dpkg --configure -a

Veritabanlarını silecek mi yoksa güvenli kalacak mı?
Thirumal

5

Tamamen mysql kaldırma ve yeniden yükleme sonunda geldi çözüm oldu. Her ne kadar başarısız bir kez kaldırmaya ve yeniden yüklemeye çalışmış olsam da (bu yüzden bana bu soruyu sormamı sağladı). Bu sayfadaki önerileri bulduktan sonra daha kapsamlı bir kaldırma işlemi denedim: MySQL'i tamamen kaldırın

Oradaki kaldırma yönergelerini izleyerek yeniden yükleme sorunu çözdü.


5

Başka bir iyi çözüm:

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

3

Bu benim için çalıştı:

sudo apt-get remove --purge mysql*

Bu komut Sen istiyorsanız You soracaktır veritabanlarını KALDIR gelen /var/lib/mysqlmysql diğer tüm örneklerini kaldırır da ve!

Bu yüzden önce veritabanlarınızı YEDEKLEYİN !

Bundan sonra komutu vererek veritabanı yükleyebilir:

sudo apt-get install mysql-server

1

Tüm paketleri ve dosyaları kaldırmayı deneyin, ardından "mysql-server" ı yeniden yükleyin

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

sudo apt-get install mysql-server 

1

Öncelikle mysql-server'ın tüm paketlerini kaldırmalısınız:

sudo rm -rf /var/lib/mysql

Ardından yükleyin:

sudo apt-get install lamp-server^

Veya şunları yapabilirsiniz:

sudo apt-get install mysql-server

1
Lütfen rm -rf bu komutun ne tür bilgileri yok edeceğini söylemeden göndermeyin .
Brian Ng
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.