安全に安全にインストールする方法
常に注意が必要です。
何かを行う前に5.5 / 5.6互換性ページをお読みください。心の1つの大きな違い:
MySQL 5.6.6以降、いくつかのMySQL Serverパラメーターには、以前のリリースとは異なるデフォルトがあります。これらの変更の動機は、すぐに使用できるパフォーマンスを向上させ、データベース管理者が設定を手動で変更する必要性を減らすことです。これらの変更は、フィードバックを得るために将来のリリースで修正される可能性があります。
大きな変更点の1つは、5.5が1つの大きなファイルをトランザクションログとして使用し、5.6がいくつかを使用することです。
したがって、既存のMySQLインストールをアップグレードする場合、これらのパラメーターの値を以前のデフォルトからまだ変更しておらず、下位互換性が懸念される場合は、これらのパラメーターを以前のデフォルトに明示的に設定することができます。たとえば、サーバーオプションファイルに次の行を追加します。
[mysqld]
innodb_file_per_table=0
innodb_checksum_algorithm=INNODB
binlog_checksum=NONE
レプリケーションを使用する場合、リンクのこの部分に注意してください。
レプリケーションに使用されるサーバーをアップグレードするには、まずスレーブをアップグレードしてから、マスターをアップグレードします。マスターとスレーブ間のレプリケーションは、すべてがexplicit_defaults_for_timestampの同じ値を使用する場合に機能します。
スレーブを停止し、アップグレードし、explicit_defaults_for_timestampの目的の値で構成し、それらを再起動します。
スレーブは、マスターから受け取ったバイナリログの形式から、マスターが古いこと(explicit_defaults_for_timestampの導入より前)であり、マスターからのTIMESTAMP列に対する操作が古いTIMESTAMP動作を使用していることを認識します。
マスターを停止し、アップグレードし、スレーブで使用されているのと同じexplicit_defaults_for_timestamp値を使用して構成し、再度起動します。
これが実稼働サーバーである場合、まずテストマシンでこれを試すことをお勧めします。5.5から5.6へのかなり難しい移行があり、5.6でインストールされた別のマシンをインストールし、mysldumpを使用してバックアップを作成し、そのマシンのデータベースにロードすることを選択しました。ただし、(innodbトランザクションファイルの再作成のため)大規模なデータベースを使用している場合、これには時間がかかることに注意してください。
一般的な方法:
- mysqldumpを使用して、データベース(ユーザー、trable構造、およびテーブルデータ)および構成ファイル(おそらく/etc/mysql/my.cnf)のバックアップを作成します。
- 5.5を削除します。5.5を削除した後、innodbトランザクションファイル(ibdata1、ib_logfile0、およびib_logfile1)がなくなっていることを確認します。5.6ではより良いバージョンのトランザクションを使用しているため、これも使用すると思います...
- 5.6をインストール
- 新しい構成ファイルを変更し、5.5で変更した内容を追加します(上記のリンクに注意し、変更のいずれかが無効になっていないか確認してください)。
- バックアップを5.6にアップロードします(ユーザーが最初)。新しいトランザクションファイルを再作成するため、これには少し時間がかかることに注意してください。
コマンドで(バックアップを作成した後):
sudo apt-get remove mysql-server
sudo apt-get autoremove
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6
sudo apt-get remove mysql-server;sudo apt-get autoremove;sudo apt-get install mysql-client-5.6 mysql-client-core-5.6;sudo apt-get install mysql-server-5.6