mysql-server-5.1을 업그레이드 할 때 apt-get이 멈춤


9

다음을 시도 할 때 :

sudo apt-get update
sudo apt-get upgrade

내 Ubuntu Server 10.04 설치에서 다음 줄에 중단됩니다.

Preparing to replace mysql-server-5.1 5.1.41-3ubuntu12.1 (using .../mysql-server-5.1_5.1.41-3ubuntu12.3_i386.deb)

CTRL-C조차도 그것을 사용할 수 없습니다! 결국 세션을 종료하고 다른 터미널에서 로그인해야하고 업그레이드 프로세스가 여전히 실행 중입니다. 나는 그것을 여러 번 재부팅했으며 다시 돌아가서 나에게 알려줍니다.

E: dpkg was interrupted, you must manually run 'sudo --configure -a' to correct the problem.

일단 그렇게하면 사각형으로 돌아가 mySQL을 업그레이드하려고 할 때 정지됩니다.


1
그리고, 이것은 당신도 될 것입니다 ... newyork.ubuntuforums.org/showthread.php?t=1514195
nik

2
@nik : 그리고? 그는 두 곳에서 하나의 질문을하지 말아야합니까? 두 곳에 게시하는 것이 좋습니다? Google 사용법을 알고 있음을 보여 주셨습니까?
msw

2
@msw, 그것은 부정적인 의견이나 과시가 아닙니다. 사실, 나는 비슷한 문제에 대한 또 다른 언급을 발견했다고 생각했지만.
nik

@ msw : 교차 게시는 논쟁의 여지가 있습니다. 물론 그것은 당신이 답을 얻을 가능성을 극대화하지만, 같은 일에 대해 다른 팀이있을 것입니다. 아마도 같은 제안을하고 시간을 낭비 할 것입니다.
바비

내가 여기에 게시 한 이유는 ubuntuforums.org에서 단일 응답을받지 못했기 때문입니다. 말할 것도없이, 나는 지금부터 기술 자원으로 사용하지 않을 것입니다 :)
Rob

답변:


2

데이터베이스를 백업 한 후 적절한 수준 이하로 이동하십시오.

sudo dpkg -r mysql-server
sudo apt-get check    # verify that apt's metadata is okay
sudo apt-get install mysql-server

추가 :

dpkg -r질식을 시도 dpkg --purge하고 실패 했기 때문에 dpkg -L mysql-server-5.1zap로 패키지 내용을 가져 와서 in을 막습니다 /var/lib/dpkg.

나는 털이 많은 것을 본 적이 없다. 미안.

처음에 성공하지 못하면

나는 여기서 큰 소리로 생각하고 있습니다. 용서하십시오. mysql-server 메타 패키지에는 다음 패키지가 포함되거나 필요합니다.

libdbd-mysql-perl
libdbi-perl
libhtml-template -perl libnet-
daemon-perl
libplrpc-perl
mysql-client-5.1
mysql-client-core-5.1
mysql-server
mysql-server-5.1
mysql-server-core-5.1

패키지 관리를위한 메타 데이터는 유쾌하게 분리되어 있으며 중앙 리포지토리가 있지만 패키지는 독립형입니다. 설치된 파일 /var/cache/apt/archives이있는 곳 *.deb입니다.

먼저 dpkg가이 패키지를 잊게합니다 (어쨌든 교체 할 일부 파일을 제거하지 못할 위험이 있음).

for i in mysql-server-core-5.1 mysql-server-5.1 ... ; do
    sudo dpkg -r --force-remove-reinstreq $i
done

그런 다음 전체 설치에 필요한 .deb 파일을 얻으십시오.

sudo apt-get install --download-only mysql-server

그런 다음 하나씩 설치해보십시오.

cd /var/cache/apt/archives
sudo dpkg -i mysql-server-core-5.1_5.1.41-3ubuntu12.3_i386.deb

문제가 있으면 다음을 시도하십시오.

sudo dpkg -D77777 -i mysql-server-core-5.1... > 2>&1 /tmp/dpkg.log.$$

그리고 로그 파일에서 zillion에서 관련 줄을 찾아 여기에 게시하십시오. 행운과 신의 속도.


"dpkg -r mysql-server"를 실행하면 설치되지 않았다고 표시됩니다. 그런 다음 "dpkg -r mysql-server-5.1"을 시도하고 다음과 같이 말합니다. 패키지가 매우 일관성이없는 상태입니다. 제거를 시도하기 전에 다시 설치해야합니다.
Rob

"dpkg -r mysql-server-5.1"을 시도했지만 실패했다고 가정합니다.
msw 2016 년

그래, 실패 "패키지의 상태가 매우 잘못되었습니다. 제거를 시도하기 전에 다시 설치해야합니다."라는 메시지가 표시됩니다.
Rob

"dpkg --purge"는 동일한 오류를 발생시킵니다. "dpkg -L mysql-server-5.1"로 나열된 모든 파일을 삭제해야합니까? 그리고 / var / lib / dpkg에서 "muck"은 무엇을 의미합니까?
Rob

다음 단계에 추가
msw

6

분명히 업데이트가 서버가 시작되기를 기다리는 중이고 어떤 이유로 업데이트가되지 않는 것 같습니다. 문제를 해결하기 위해 몇 가지 가능성이 있습니다.

제일 쉬운:

  1. 새 터미널을 열고 다음을 실행하십시오.

    sudo services mysql start
    

더 복잡하지만 때로는 필요합니다 (다른 터미널에 액세스 할 수없는 경우에 편리함).

  1. "^ z"( Ctrl+ Z)를 누르면 작업이 "중지"됩니다. 그런 다음 다음을 실행하십시오.

    sudo services mysql start
    
  2. 서버가 시작되면 다음을 입력하고 Enter를 누르십시오.

    fg 
    

    그러면 "STOPPED"작업이 포 그라운드로 돌아가고 중단 된 곳에서 계속됩니다.


필자의 경우 실제로 서버가 시작되기를 기다리는 중이었습니다.
izak

시작 명령이 이미 실행 중이라고 말했지만 몇 초 안에 apt-get은 계속 정상적으로 작동했습니다. 감사합니다
Liam Wheldon

2

VM의 사본이기 때문에이 문제가 발생하여 서버의 IP 주소를 변경했지만 my.cnf 파일의 바인드 주소는 변경하지 않았습니다. 바인드 주소가 일치하도록 변경 한 후에는 업데이트가 중단되지 않고 성공적으로 완료되지 않았습니다.


1

나는 같은 문제에 직면했고 그것을 디버깅하는 데 하루 이상을 보냈다.

데이터베이스 디렉토리를 제거하면 /var/lib/mysql/설치가 순조롭게 진행되었습니다.


2
그래도주의해서해야합니까?
slhck

1

나는이 정확한 문제가 있었지만 기존 솔루션 중 어느 것도 적절하지 않은 것으로 보였습니다. * nix에서 강제로 제거를 수행하는 것은 불필요하며 KISS는 아닙니다. 제 경우에는 원인이 간단하다는 것을 알았습니다. MySQL이 여전히 실행 중이기 때문에 시작을 거부했습니다! apt가 MySQL을 중지하려고 시도했을 때 활성화되었고 실제로 중지되지 않았습니다.

항상 그렇듯이 백업이 있는지 확인하십시오!

서비스를 중지하십시오 :

sudo service mysql stop

서비스가 더 이상 실행되고 있지 않은지 확인하십시오.

sudo ps ax | grep mysql

여전히 실행중인 경우 시간을 제공하십시오.

sudo kill <pid>

그러나 결국, 여전히 실행 중이면 공격적으로 죽여야합니다.

sudo kill -9 <pid>

더 이상 실행되지 않는 것으로 확인되면 업데이트를 계속할 수 있습니다.

업데이트가 완료된 후, 특히 -9를 종료해야하는 경우, mysqlcheck를 실행하여 서비스를 중지시키지 못한 원인이 무엇이든 손상된 테이블이 아닌지 확인하십시오. 또한 정기적으로 백업해야하며 백업이 실제로 작동하는지 확인하십시오.


0

필자의 경우 기존 /etc/mysql/my.cnf에 문제가있었습니다. /var/log/mysql/error.log에서 오류 로그를 확인한 결과 :

150112  5:45:47 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
150112  5:45:47 [ERROR] Do you already have another mysqld server running on port: 3306 ?
150112  5:45:47 [ERROR] Aborting

150112  5:45:47  InnoDB: Starting shutdown...
150112  5:45:52  InnoDB: Shutdown completed; log sequence number 0 1883376705
150112  5:45:52 [Note] /usr/sbin/mysqld: Shutdown complete

분명히 my.cnf에 다른 문제가있을 수 있지만 필자의 경우 이전 IP 주소에 바인딩하려고했습니다. 로 변경 :

bind 127.0.0.1

그것을 고치면 아무런 문제가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.