mysql 5.5にロールバックする方法はありますか?現在、pkg経由で5.6.47がインストールされています。
現在のバージョンを削除しようとしましたが、成功しませんでした。基本的に、freebsdシステムを再構成せずにmysql 5.5のすべてのバージョンに移動する方法を知っていますか?
root@ServerfilesPoject16:~ # pkg delete mysql55-client-5.6.47
No packages matched for pattern 'mysql55-client-5.6.47'
ベストアンサー1
警告する!ここで龍があります!
機械を「再構成」することが何を意味するのかは不明です。デフォルトのFreeBSDインストールを変更する必要はありません。ただし、これらのパッケージがクラッシュするため、コンピュータを変更する必要があります。
見たらフレッシュポート衝突を見ることができます。
CONFLICTS_INSTALL:
mysql5[0-46-9]-client-*
mariadb*-client-*
percona*-client-*
一般的なタスクでは、必要なパッケージのインストールを要求すると、これらの競合について警告し、パッケージを削除することを提案します。
pkg install mysql55-client
その後、削除機能を提供する必要がありますmysql56-client
。
これは、あなたがバージョン番号について混同していると信じています。
バージョン5.5と5.6は異なるパッケージです。
- mysql55 - クライアント現在のバージョンは5.5.62_3です。
- mysql56 - クライアント現在のバージョンは5.6.51です。
あなたはmysql55-client-5.6.47
。私の考えでは、あなたが持っている可能性が高いと思いますmysql56-client-5.6.47
。
次のコマンドを使用すると、システムに実際にインストールされている内容を確認できます。
pkg info
したがって、アプリケーションの観点からは、異なるバージョンをインストールして競合を処理することは非常に無駄です。時間が経つにつれて不要になった依存性の高いアプリケーションをインストールした場合は、次のコマンドを使用してそのアプリケーションを削除できます。
pkg autoremove
次のマニュアルページをお読みください。包装(8)。パッケージの管理方法に関する多くのチュートリアルがあります。
Mysqlクライアントを使用する状況はシンプルでシンプルなクライアントなので、前後に簡単に交換できます。
しかし、MySQLサーバーも持っているなら、状況は難しいかもしれません。理論的には、サーバーアプリケーションも簡単に交換できます。しかし、これはデータベースサーバーであり、そのようなものは...データを持っています。
これにより、アプリケーションを簡単にロールバックできます。ただし、データは完全にアプリケーションによって異なります。データベースのバージョン番号を切り替えると、通常、ディスクのデータ構造が更新されます。データが更新されると、以前のバージョンが正しく処理されない可能性があります。一般的なロールバックは、バックアップを復元することです。しかし、これはアプリケーションによって決まります。
この種のバックアップを実行する方法はいくつかあります。特にデータベースの場合。
しかし、FreeBSDにはあなたを助けるための重要なツールが1つあります。使用する場合ZFSファイルシステムならできますスナップ写真。アップグレードする前にスナップショットを作成した場合は、そのスナップショットに戻してすぐにロールバックを実行できます。その後、アップグレード(およびロールバック)を複数回試すことができます。ただし、アップグレードする前にスナップショットを撮る必要があります。
スナップショットプロセスは非常に高速です。しかし安全のためにはmysqlがFLUSH TABLES WITH READ LOCK
。次にUNLOCK TABLES
。バラよりこの回答そしてこの説明
mysql << EOF
FLUSH TABLES WITH READ LOCK;
system zfs snapshot data/db@snapname
UNLOCK TABLES;
EOF