Ubuntu 14.04 LTSでのMySQL 5.5からMySQL 5.6へのアップグレード


17

次のコマンドを使用してLAMPをインストールしました。

sudo apt-get update
sudo apt-get install apache2 apache2-suexec mysql-server php5-mysql
sudo mysql_secure_installation
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
sudo apt-get install phpmyadmin

ほぼ一年前でした。PHPMyAdminに次のように表示されます。

Server: Localhost via UNIX socket
Server type: MySQL
Server version: 5.5.43-0ubuntu0.14.04.1 - (Ubuntu)
Protocol version: 10
Web server
Apache/2.4.7 (Ubuntu)
Database client version: libmysql - 5.5.43
PHP extension: mysqli Documentation

MySQLバージョンは5.5.43-0ubuntu0.14.04.1です。で使用する必要があるmysql 5.6.4+を安全かつ安全にインストールして使用するにはどうすればよいですか。私はUbuntuのリポジトリにあるパッケージを参照してください、私は本当に矛盾やインストールの問題を回避すべきです。FULLTEXTINNODB

助けてくれてありがとう。

回答:


22

安全に安全にインストールする方法

常に注意が必要です。

何かを行う前に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

2
参考までに、まずバックアップを作成してから、次のコマンドを使用して正常にインストールします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
。– YahyaE

2
はい、よさそうです:D Gratz!そこで編集しました;-)
リンツウィンド

その手順は、このサーバーのデータベースを消去しますか?
Please_Dont_Bully_Me_SO_Lords

@EASIいいえ、質問は...悪いです。mysqlをアップグレードする場合、非推奨の機能/パラメーター/オプション/設定をmysqlでスキャンするには、バックアップを作成して復元する必要があります。
リンツウィンド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.