DebianでMySQLをアップグレードするためにapt-getを使用する方法は?

DebianでMySQLをアップグレードするためにapt-getを使用する方法は?

ターンキーLinux仮想マシンを使用しています。 Debianリリースは明らかに「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が必要な場合、Web上のDebian WheezyパッケージストアのリストにはMySQL 5.5のみが表示され、他のものは表示されません。それから「バックポッティング」についての内容を読んで、それが私の特定のDebianにあってはいけないことを得ることができるように聞こえました。しかし、うまくいくことはできないようです。に行を追加する必要があります/etc/apt/sources.list.d/sources.list。これを実行して実行すると、apt-get update404エラーが発生します。

私もいくつかの異なる方法を試しましたが、そのうちの1つは通常のMySQLダウンロードをコンパイルすることでしたが、失敗して再試行したくありません。

私はこれがどのように行われるかについて非常に混乱しています。フォーラム/ブログにリストされているほとんどのURLは、公開後apt-getすぐwgetに消えるように見えるため、なぜ誰かが正しい情報を探しに行く理由を理解できません。 2日連続でこれを試してみましたが、役に立ちませんでした。

makeだからあなたがここまで読んだと仮定して、比較的苦痛でない自動化された方法(手動で使用したり、現在のデータベースをエクスポートしたりインポートしたりする必要がない方法)でDebianでMySQLをアップグレードする方法があるかどうかを知りたいです。と構成))。

答え1

現在の最良の方法は式を使用することです。MySQL APTリポジトリインストールを許可しますapt-get upgrade

答え2

wheezy の実験では、実験的な 5.6 MySQL ソースコードを再構築するのは非常に簡単でほぼ簡単です。ただし、ビルドが完了した後、ビルドディレクトリは5.2 GBを使用するため、多くのディスク容量が必要です。また、多くのテストを構築して実行するのに時間がかかります。時間を決めずに数時間そのままにしておきました。テストを無効にすることは可能ですが、実行することをお勧めします。テストに合格する限り無害です。彼らは私のコンピュータでそれをしました。良いニュースは、問題なくビルドしてインストールできたということです。次の基本テストを実行しました。

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

関連情報