Debian에서 MySQL을 업그레이드하기 위해 apt-get을 사용하는 방법은 무엇입니까?

Debian에서 MySQL을 업그레이드하기 위해 apt-get을 사용하는 방법은 무엇입니까?

턴키 Linux 가상 머신을 사용하고 있습니다. 데비안 릴리스는 분명히 "Wheezy" 업그레이드 경로에 있습니다(그렇게 부르는 경우). 보시다시피 저는 Linux에 완전히 만족하지 않습니다.

MySQL 5.6에서 제공하는 새로운 기능 중 일부가 필요하며 현재 설치되어 있는 것은 MySQL 5.5.35입니다. 최신 버전(이 게시물의 경우 5.6.17)이나 최소한 5.6.x를 받고 싶습니다.

나는 apt-get update, apt-get upgrade, 을 시도했다 apt-get dist-upgrade. 이것들은 많은 것을 성공적으로 업데이트했지만 MySQL은 아무것도 업데이트하지 않았습니다. 시도해 apt-get upgrade mysql-server보니 이미 최신 버전이 있다고 나와요.

5.6이 필요할 때 웹에 있는 Debian Wheezy 패키지 저장소 목록에는 MySQL 5.5만 표시되고 다른 것은 표시되지 않습니다. 그런 다음 "백포팅"에 대한 내용을 읽었고 그것이 내 특정 데비안에 있어서는 안 되는 것을 얻을 수 있는 것처럼 들렸습니다. 하지만 작동하도록 할 수는 없는 것 같습니다. 에 줄을 추가해야 합니다 /etc/apt/sources.list.d/sources.list. 이 작업을 수행한 다음 실행하면 apt-get update404 오류가 발생합니다.

나는 또한 몇 가지 다른 방법을 시도했는데 그 중 하나는 일반 MySQL 다운로드를 컴파일하는 것이었지만 실패했고 다시 시도하고 싶지 않습니다.

나는 이것이 어떻게 수행되는지에 대해 매우 혼란스러워합니다. 포럼/블로그에 나열된 대부분의 URL은 apt-get심지어 wget게시된 후 곧 사라지는 것 같아서 왜 누군가가 올바른 정보를 찾으러 가는지 이해할 수 없습니다. 이틀 연속으로 이 작업을 시도했지만 아무 소용이 없었습니다.

make따라서 여러분이 여기까지 읽었다고 가정하고, 상대적으로 고통스럽지 않은 자동화된 방식(수동으로 사용하거나 현재 데이터베이스를 내보내거나 가져올 필요가 없는 방식)으로 데비안에서 MySQL을 업그레이드할 수 있는 방법이 있는지 알고 싶습니다. 및 구성)).

답변1

현재 가장 좋은 방법은 공식을 사용하는 것입니다.MySQL APT 저장소설치를 허용합니다 apt-get upgrade.

답변2

wheezy에 대한 실험에서 실험적인 5.6 MySQL 소스 코드를 재구성하는 것은 매우 간단하고 거의 간단합니다. 그러나 빌드가 완료된 후 빌드 디렉터리는 5.2GB를 사용하므로 많은 디스크 공간이 필요합니다. 또한 많은 테스트를 구축하고 실행하는 데 시간이 걸립니다. 시간을 정하지 않고 몇 시간 동안 그대로 두었습니다. 테스트를 비활성화하는 것이 가능하지만 실행하도록 놔두는 것이 좋습니다. 테스트를 통과하는 한 무해합니다. 그들은 내 컴퓨터에서 그것을 했습니다. 좋은 소식은 아무 문제 없이 빌드하고 설치할 수 있었다는 것입니다. 다음과 같은 기본 테스트를 실행했습니다.

faheem@orwell:~$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 50
Server version: 5.6.16-1~exp1 (Debian)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

그러면 최소한 서버에 연결할 수는 있습니다. 설치된 패키지는 다음과 같습니다.

$ dpkg -l | grep mysql

ii  libdbd-mysql-perl                     4.021-1+b1              amd64                   Perl5 database interface to the MySQL database
ii  libmysqlclient18:amd64                5.5.35+dfsg-0+wheezy1   amd64                   MySQL database client library
ii  libqt4-sql-mysql:amd64                4:4.8.2+dfsg-11         amd64                   Qt 4 MySQL database driver
ii  mysql-client-5.6                      5.6.16-1~exp1           amd64                   MySQL database client binaries
ii  mysql-client-core-5.6                 5.6.16-1~exp1           amd64                   MySQL database core client binaries
ii  mysql-common                          5.5.35+dfsg-0+wheezy1   all                     MySQL database common files, e.g. /etc/mysql/my.cnf
ii  mysql-common-5.6                      5.6.16-1~exp1           all                     MySQL 5.6 specific common files, e.g. /etc/mysql/conf.d/my-5.6.cnf
ii  mysql-server-5.6                      5.6.16-1~exp1           amd64                   MySQL database server binaries and system database setup
ii  mysql-server-core-5.6                 5.6.16-1~exp1           amd64                   MySQL database server binaries
ii  python-mysqldb                        1.2.3-2                 amd64                   Python interface to MySQL

다음은 단계에 대한 세부정보입니다.

  1. 놀라운 MySQL 5.5 패키지가 설치되어 있으면 제거하세요. 나중에 문제가 발생할 뿐입니다. 이에 의존하는 패키지가 있으면 해당 패키지도 제거해야 합니다.
  2. 먼저 소스를 받으세요. 다음을 추가해야 합니다(또는 선호하는 서버에 맞게 조정된 유사한 것) /etc/apt/sources.list.

    deb-src http://debian.lcs.mit.edu/debian/ experimental main non-free contrib
    
  3. 에 다음도 추가합니다 /etc/apt/preferences.

    Package: *
    Pin: release a=experimental
    Pin-Priority: 1
    
  4. 그런 다음 실행

    apt-get update
    
  5. 그런 다음 실행

    apt-get source mysql-5.6
    

    적절한 디렉토리에. 저는 보통 에 디렉토리를 생성합니다 /usr/local/src.
    이 경우에는 /usr/local/src/mysql.

  6. 그런 다음 CD를 /usr/local/src/mysql.

  7. 달리기

    sudo apt-get build-dep mysql-5.6
    

    내 컴퓨터에 여러 패키지가 설치되어 있습니다.

  8. 몇 가지 기본 빌드 패키지를 설치합니다.

    apt-get install build-essential devscripts fakeroot
    

    그런 다음 생성된 소스 디렉터리로 cd /usr/local/src/mysql/mysql-5.6- 5.6.16하고 실행합니다.

    debuild -uc -us
    

    빌드하는 데 시간이 걸립니다. 어떤 경우에는
    버전 번호를 높이는 것이 좋은 생각이지만 여기서는 꼭 필요한 것은 아닙니다. 다른 MySQL 5.6 패키지에서는 문제가 발생할 가능성이 낮기 때문입니다.

    테스트를 실행하고 싶지 않다면 다음을 사용할 수 있습니다.

    DEB_BUILD_OPTIONS="nocheck" debuild -uc -us
    
  9. 이제 mysql 패키지의 런타임 종속성인 libdbd-mysql-perl을 설치해야 합니다.

     apt-get install libdbd-mysql-perl
    
  10. 그런 다음 다음 레벨로 넘어갑니다 /usr/local/src/mysql. 거기에 몇 가지 deb 패키지가 있어야 합니다. 최소한 설치해야 합니다.

     mysql-client-core-5.6_5.6.16-1~exp1_amd64.deb         
     mysql-common-5.6_5.6.16-1~exp1_all.deb           
     mysql-server-5.6_5.6.16-1~exp1_amd64.deb
     mysql-client-5.6_5.6.16-1~exp1_amd64.deb  
     mysql-server-core-5.6_5.6.16-1~exp1_amd64.deb
    

    예를 들어 다음 명령을 실행하여 이 작업을 수행할 수 있습니다.

     dpkg -i mysql-client-core-5.6_5.6.16-1~exp1_amd64.deb         
     mysql-common-5.6_5.6.16-1~exp1_all.deb           
     mysql-server-5.6_5.6.16-1~exp1_amd64.deb
     mysql-client-5.6_5.6.16-1~exp1_amd64.deb  
     mysql-server-core-5.6_5.6.16-1~exp1_amd64.deb
    

답변3

모든 테스트를 재미있게 즐겨보세요.

  1. .apt-get libaio1 설치
  2. mysql 그룹 추가
  3. useradd -r -g mysql mysql
  4. wget -O mysql-5.6.16-debian6.0-x86_64.deb
  5. http://downloads.mysql.com/archives/mysql-5.6/mysql-5.6.16-debian6.0-x86_64.deb
  6. dpkg -i mysql-5.6.16-debian6.0-x86_64.deb
  7. CD /usr/로컬
  8. ln -s /opt/mysql/server-5.6 mysql
  9. CD MySQL
  10. 스크립트/mysql_install_db --user=mysql
  11. chown -R 루트.
  12. chown -R mysql 데이터
  13. cp 지원 파일/mysql.server /etc/init.d/mysql
  14. mkdir -p /etc/mysql/conf.d/
  15. cp my.cnf /etc/mysql/
  16. echo $'!include /etc/mysql/my.cnf\n!includedir /etc/mysql/conf.d/' > my.cnf
  17. mysql 서비스가 시작됩니다
  18. ./bin/mysql_secure_installation

관련 정보