定義:信頼-Ubuntu LTSパッケージャーが私から失ったもの。
14.04 LTS Webサーバーマシンを注意深く保守しました。 4つの主要な機能(ssh、ftp、http、およびmysql(Webページで使用))のみがありました。 14.04から16.04へのリリースアップグレードを開始する前に、両方を確認しました。
Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get dist-upgrade
リリースをアップグレードしようとする前に、最新の14.04パッケージを確実に入手しました。それが完了したら、システムをリブートし(上記のコマンドを再度実行して、新しいものが表示されないようにします)、安全のために、「Sudo do-release-upgrade -d」を実行して、 14.04から16.04。
前の2つのシステムのすべてがスムーズに同じ方法でアップグレードされましたが、mysqlの部分でWebサーバーのアップグレードがハングし、システムでmysqlを実行する必要のある機能が破壊されたようです。期間。
私が読んだことから、mysql 5.5-> 5.6-> 5.7をアップグレードすることを強くお勧めします。5.5から5.7に直接ジャンプするとテーブルの互換性の問題が発生する可能性があるためです。残念ながら、私の(完全に最新の、覚えている)Webサーバーは、まだmysql-5.5を実行していました。
Do-release-upgradeがハングしている間にキャプチャした/ var/lib/mysqlのコピーがありますが、mysql-5.7およびmysql-5.6はどちらも使用を拒否します。リリースを手動でステップ実行するために、Ubuntu 16.04にmysql-5.5をインストールすることは不可能と思われます。 mysql Webサイトからパッケージを取得しようとしましたが、そこではmysql-serverのみが見つかり、-client、-commonなどは見つかりません。
したがって、14.04から16.04にアップグレードすると、データベースが破壊されたように見えます。はい、私は知っています、現在のバックアップがないことは私のせいですが、2回の完璧なアップグレードの後、期限内に(データベースが永久になくなっているように見えるので、蒸発しました)、私はあまりにも快適でした-私は信頼していましたアップグレードを構築した人々。破損する可能性のあるものがないか事前に確認する必要があることは知っていますが、正直なところ、それはパッケージャーの仕事だと思いました。顧客にすべてを確認する必要があると言うことは、車を購入する際に車を分解し、購入前にすべての部品に欠陥がないかを確認するようなものです。それは起こりません。
Ubuntu 16.04でmysql 5.5に戻り、正しい/推奨(mysqlによる)アップグレード手順を実行できる方法がある場合は、お知らせください。そうでない場合、誰もがセントラルフロリダの良い原始悲鳴療法グループを知っていますか?
更新:仮想14.04サーバーを構築し、そのデータベースファイルを修復/再構築することで、データベースを正常に機能する状態に戻すことができました。仮想14.04のmysqlを5.5から5.6に正常にアップグレードしました。次に、5.6から5.7へのアップグレードが機能することを確認するために何をする必要があるかを学ぶ必要があります。
更新2:sc責にもかかわらず、pgradedシステムのmysql 5.6で修復したデータベースを動作させることができました。 mysqlのPHPサポートがインストールされていないため、エラーが発生しています。それらは小さなステップかもしれませんが、それはis進行です!
更新3:成功!すべてのphp7/mysqlパッケージを再インストールし、Webアプリがmysqliデータベースタイプを使用していることを確認しました。ただし、しばらくの間mysql 5.6にとどまると思います。 5.7.xへのアップグレードパスに少し慣れるまで。うまくいけば、これは私のような他の人に警告の物語を提供するかもしれません-しかし、彼らが私に似すぎている場合、彼らは手遅れになるまでこれを見ません。
これは、14.04から16.04にアップグレードすると、サポートされていないmysqlアップグレード(5.5-> 5.7)が発生します。これは、 mysql で文書化されているサポート対象のアップグレードパスではありません。これを回避する最も簡単な方法は、mysqlを5.6にアップグレードすることです(14.04のままです)。これを実現するには、まず(もちろん!)すべてのデータベースをダンプします。
mysqldump --lock-all-tables -u root -p --all-databases > backup.sql
次に、mysql 5.6にアップグレードします。
apt-get install mysql-server-5.6 mysql-client-5.6 mysql-server-core-5.6 mysql-client-core-5.6
このようにして、すべてのデータベースがインプレースでアップグレードされ、(これまでのマシンでは)完全に安全かつ透過的に5.6にアップグレードされます。アップグレード後の唯一の問題は、TIMESTAMPエントリである場合があります。現在、do-release-upgradeの後、mysqlは5.6のままであり、リリースアップグレード中の5.5から5.7への非サポートアップグレードに関する問題は表面化することはありません。