Ubuntu 14.04에서 MySQL 5.6 설치가 실패한 이유는 무엇입니까? 14.04 (64

호기심에서 우분투 14.04의 MySQL 5.6을보고 싶었습니다. 그리고이 기사를 기반으로 설치가 간단하고 간단해야합니다. 그래서 우분투 14.04 (64 비트)를 실행하는 AWS EC2 마이크로 서버를 시작하고 PuTTY를 통해 원시 인스턴스에 로그인하고 다음 명령을 실행했습니다.

$ sudo apt-get update
$ sudo apt-get build-dep mysql-server-5.6
$ sudo apt-get install mysql-server-5.6

(처음 두 개만 실행 apt-get install해도 이전에는 작동하지 않았으므로 처음 두 명령은 절박한 움직임이었습니다 . 그러나 세 명령 모두 사용하더라도 설치 단계는 여전히 작동하지 않았습니다.)

위에서 언급 한 기사를 기반으로 최종 명령 에서이 출력을 볼 것으로 예상 한 시점에서 :

mysql start/running, process 2355
Setting up libhtml-template-perl (2.95-1) ...
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...
Processing triggers for libc-bin (2.19-0ubuntu6) ...
Processing triggers for ureadahead (0.100.0-16) ...

대신에 이것을 얻었습니다.

start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.6 (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libhtml-template-perl (2.95-1) ...
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...
Processing triggers for libc-bin (2.19-0ubuntu6) ...
Processing triggers for ureadahead (0.100.0-16) ...
Errors were encountered while processing:
 mysql-server-5.6
E: Sub-process /usr/bin/dpkg returned an error code (1)

아무도 무엇이 잘못되었는지 볼 수 있습니까?



답변

발생한 문제는 이 버그 보고서같습니다 . 시작 실패는 기본 MySQL 5.6 구성에 마이크로 인스턴스보다 많은 메모리가 필요하기 때문입니다.

오류에 대한 해결책은 다음 중 하나를 수행하는 것으로 보입니다.

  • EC2 인스턴스의 메모리 양을 늘리십시오
  • MySQL max_connections변수 의 값을 작게 설정하십시오

답변

작은 VPS를 초기화 할 때도 같은 문제가 발생합니다. 이 문제는 작은 메모리로 인해 발생합니다. 따라서 불필요한 메모리를 늘리기 위해 추가 비용을 들이지 않고도 간단히 설치를 돕기 위해 스왑 파일을 만들 수 있습니다. 예, 스왑은 느리지 만 설치 만하면됩니다.

우분투 14.04에서는 문제를 해결하기 위해 다음을 수행합니다.

4G 스왑 파일을 만듭니다.

sudo fallocate -l 4G /swapfile

액세스 권한과 루트 만 액세스 권한으로 변경하십시오.

sudo chmod 600 /swapfile

교체하십시오 :

sudo mkswap /swapfile

활성화 :

sudo swapon /swapfile

이제 mysql을 다시 설치할 수 있습니다. 이번에는 성공할 것입니다. 이전에 실패한 설치를 제거하기 전에 제거해야합니다.


답변

같은 문제가 발생했습니다. 내 VM에 충분한 12Gb 메모리가 주어졌지만 여전히 문제가 발생했습니다. 시간을 보낸 후 기본 apt get에 일부 구성 변환 및 도구 변환 패키지가 누락되었음을 발견했습니다.

MySQL apt 리포지토리는를 사용하여 최신 소프트웨어 패키지로 MySQL 제품을 설치 및 업데이트하는 간단하고 편리한 방법을 제공합니다 apt-get. 따라야 할 사항은 다음과 같습니다.

  1. MySQL APT 리포지토리 추가 먼저, MySQL apt 리포지토리를 시스템의 소프트웨어 리포지토리 목록에 추가하십시오. 이 단계를 따르세요:

    • http://dev.mysql.com/downloads/repo/apt/ 의 MySQL apt 저장소 다운로드 페이지로 이동 하십시오 .

    • 릴리스 패키지를 선택하고 다운로드하십시오.

    • 다음 명령을 사용하여 다운로드 한 릴리스 패키지를 설치하십시오. version-specific-package-name을 다운로드 한 패키지의 이름으로 바꾸십시오 (패키지가있는 폴더 내에서 명령을 실행하지 않는 경우 경로가 선행 함).

      sudo dpkg -i /PATH/version-specific-package-name.deb
      

    지원되는 모든 데비안 및 우분투 플랫폼에서 동일한 패키지가 작동합니다.

    • 패키지를 설치하는 동안 설치하려는 MySQL 서버 버전 및 기타 구성 요소 (예 : MySQL Workbench)를 선택하라는 메시지가 표시됩니다. 어떤 버전을 선택해야할지 확실하지 않으면 선택한 기본 옵션을 변경하지 마십시오. 특정 구성 요소를 설치하지 않으려는 경우 없음을 선택할 수도 있습니다. 모든 구성 요소를 선택한 후 확인을 선택하여 릴리스 패키지 구성 및 설치를 완료하십시오.

    나중에 버전에 대한 선택을 언제든지 변경할 수 있습니다.
    지시 사항은 주 릴리스 버전 선택을 참조하십시오.

    • 다음 명령을 사용하여 MySQL APT 저장소에서 패키지 정보를 업데이트하십시오 (이 단계는 필수 임).

      sudo apt-get update
      
  2. APT로 MySQL 설치

    • 다음 명령으로 MySQL을 설치하십시오.

      sudo apt-get install mysql-server
      

이렇게하면 MySQL 서버 패키지와 클라이언트 및 데이터베이스 공통 파일 패키지가 설치됩니다.

설치하는 동안 대화 상자에는 두 가지 요청이 있습니다. MySQL 설치를위한 루트 사용자의 비밀번호를 제공하십시오.

  1. MySQL 서버 시작 및 중지

설치 후 MySQL 서버가 자동으로 시작됩니다. -다음 명령으로 MySQL 서버의 상태를 확인할 수 있습니다.

sudo service mysql status
  • 다음 명령으로 MySQL 서버를 중지하십시오.

    sudo service mysql stop
    
  • MySQL 서버를 다시 시작하려면 다음 명령을 사용하십시오.

    sudo service mysql start
    

나는이 http://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install을 따랐다 . 이것은 원활하게 작동하고 모든 패키지를 다운로드하고 성공적으로 설치했습니다 mysql 5.6.


답변

제 경우에는 추가했습니다

innodb_buffer_pool_size = 20M

~로 /etc/mysql/my.cnf


답변

performance_schema를 비활성화하면 많은 메모리가 절약됩니다. 시작시 빈 데이터베이스가 400m에서 40m로 이동합니다.

performance_schema=0

MySQL 문서 : http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html


답변

우분투 15.10 에서이 문제가 발생했습니다. 나에게 그것은 메모리 문제가 아니었다 (2GB 램과 18GB의 스왑이 있으며 그중 약 300MB 만 사용되었습니다).

내 경우 에는 존재하지 않는을 dpkg찾고 /etc/mysql/conf.d있었지만 (그러나 /etc/mysql/mysql.conf.d)! mysql을 다시 설치하고 수동으로 폴더를 만들면 /etc/mysql/conf.d문제가 해결되었습니다.

정확히 어떻게 이런 일이 일어 났습니까? 나도 몰라 이 솔루션은 내 컴퓨터에만 해당되므로 내 답변을 거의 공유하고 싶지 않았습니다.

유틸리티를 사용 하여이 문제를 해결했습니다.이 기능 strace은 엄청나게 장황한 경우 이런 종류의 일에 환상적입니다.

나는 이것을 다음과 같이 사용했다 :

  • ctrlc반쯤 누른 후 설치를 완료 apt-get install mysql-server하기 위해 실행 dpkg --configure -a해야했습니다.

  • 나는 달렸다 strace 2>/tmp/trace dpkg --configure -a. 그것은 나에게 멋진 strace로그를 만들었습니다 /tmp/trace.

  • 나는 로그를 보았는데, 특히 아래쪽에서 실패했다.

  • 액세스하려고 /etc/mysql/conf.d하고 오류 코드 ENOENT, 해당 파일 또는 디렉토리가 없음 을 알았습니다 .

이 일을하고 싶은 사람은를 위해 strace 2>/tmp/trace (command)grep을 수행하십시오 ENOENT. 내가 말했듯이,이 솔루션은 아마도 내 컴퓨터에만 국한되어 있지만 당신은 그것을 원할 수도 있습니다.


답변

내 경우에는 모두 내가 할 필요 것은에서 일부 내용을 변경했다 my.cnf단지 2 로그 파일 이름을 삭제 ib_logfile0하고 ib_logfile1,와 MySQL을 시작합니다

service mysql start

mysql을 다시 설치할 필요가 없습니다.이 두 로그 파일을 삭제하고 mysql 서버를 다시 시작하십시오.

내가 변경 한 내용은 다음과 my.cnf같습니다.

max_connections     = 1000
max_allowed_packet  = 1024M
wait_timeout        = 7200