ターンキー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 update
404エラーが発生します。
私もいくつかの異なる方法を試しましたが、そのうちの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
以下はステップの詳細です。
- 素晴らしいMySQL 5.5パッケージがインストールされている場合は削除してください。後で問題が発生するだけです。これに依存するパッケージがある場合は、そのパッケージも削除する必要があります。
まずソースを入手してください。以下を追加する必要があります(または好みのサーバーに合わせて調整された同様のもの)
/etc/apt/sources.list
。deb-src http://debian.lcs.mit.edu/debian/ experimental main non-free contrib
に以下も追加します
/etc/apt/preferences
。Package: * Pin: release a=experimental Pin-Priority: 1
その後実行
apt-get update
その後実行
apt-get source mysql-5.6
適切なディレクトリに。私は通常ディレクトリを作成します
/usr/local/src
。
この場合は/usr/local/src/mysql
。その後、CDを
/usr/local/src/mysql
。走る
sudo apt-get build-dep mysql-5.6
マイコンピュータに複数のパッケージがインストールされています。
いくつかの基本的なビルドパッケージをインストールします。
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
これで、mysqlパッケージのランタイム依存関係であるlibdbd-mysql-perlをインストールする必要があります。
apt-get install libdbd-mysql-perl
その後、次のレベルに進みます
/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
すべてのテストを楽しんでください。
- .apt-get libaio1 インストール
- mysqlグループの追加
- useradd -r -g mysql mysql
- wget -O mysql-5.6.16-debian6.0-x86_64.deb
- http://downloads.mysql.com/archives/mysql-5.6/mysql-5.6.16-debian6.0-x86_64.deb
- dpkg -i mysql-5.6.16-debian6.0-x86_64.deb
- CD /usr/ローカル
- ln -s /opt/mysql/server-5.6 mysql
- CD MySQL
- スクリプト/mysql_install_db --user=mysql
- chown -R ルート。
- chown -R mysql データ
- cpサポートファイル/mysql.server /etc/init.d/mysql
- mkdir -p /etc/mysql/conf.d/
- cp my.cnf /etc/mysql/
- echo $'!include /etc/mysql/my.cnf\n!includedir /etc/mysql/conf.d/' > my.cnf
- mysqlサービスが開始されます
- ./bin/mysql_secure_installation