レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

mysql5.1系からmysql5.5系へアップグレードする

2011年10月29日 2014年1月15日
mysql 5.5

あえてmysql5.1系をインストールする でMySQL5.1系をインストールしていました。
MySQL5.1でも十分ですが、5.5への移行は、遅かれ早かれいずれやらないといけません。そこで、今回は、mysql5.1系からmysql5.5系へアップグレードしてみます。

参照:MySQL5.5 で削除された機能一覧(おまけ)

mysql5.1系からmysql5.5系へアップグレードする

MySQL5.1 を停止する

MySQL5.1 (mysqld) を停止します。

$ /etc/init.d/mysqld stop
MySQL を停止中:                                            [  OK  ]

MySQL5.1 のデータベースの全バックアップを行う(もしものため)

この作業は、もしもアップグレードで失敗した場合に、元に戻すために行う作業です。

全バックアップは、色々なやり方があります。以下の方法は例です。いずれの例でもMySQLが停止している状態なので、安全にバックアップできるはずです。

mysqldumpを使って全バックアップ

$ mysqldump  -u root -p --all-database > all_db.sql

mysqlのバイナリファイルを全バックアップ

$ tar cvfz /tmp/mysql-bin.tar.gz /var/lib/mysql
いずれでもOKですが、データベースが大きい場合は、バイナリファイルのバックアップが良いでしょう。
バイナリファイルのバックアップでは、/etc/my.cnf の設定でバイナリファイルの置き場所が設定されていますので、必ず確認しましょう。
datadir = /var/lib/mysql

MySQL5.1 の設定ファイルのバックアップを行う(もしものため)

この作業は、もしもアップグレードで失敗した場合に、元に戻すために行う作業です。

現状のmy.cnfをバックアップとしてコピーしておきます。

$ cp /etc/my.cnf /etc/my.cnf.51

MySQL5.1 をアンインストールする

MySQLのインストール状況を確認しておきます。

$ rpm -qa|grep mysql
mysql51-server-5.1.47-2.ius.el5
mysqlclient15-devel-5.0.91-1.ius.el5
mysqlclient15-5.0.91-1.ius.el5
mysql51-5.1.47-2.ius.el5
mysql51-devel-5.1.47-2.ius.el5
php52-mysql-5.2.13-3.ius.el5
mysql51-libs-5.1.47-2.ius.el5
mysql51-bench-5.1.47-2.ius.el5

MySQLをアンインストールします。

$ yum erase mysql51-server mysql51 mysqlclient15 mysqlclient15-devel mysql51-devel mysql51-libs mysql51-bench
          :

Dependency Removed:
  php52-mysql.i386 0:5.2.13-3.ius.el5

Complete!
$ 

Dependency Removed: では、依存している他のパッケージが削除された場合、そのパッケージ名が出力されます。
ここでは、php52-mysqlが一緒に削除されてしまいました。MySQL5.5 をインストールした後に再インストールしましょう。


リポジトリを更新する

(ねんのため)MySQL5.1をインストールしたときのリポジトリを最新にしておきます。

現在のバージョンを確認しておきます。

$ rpm -qa|grep epel-release
epel-release-1-1.ius.el5

$ rpm -qa|grep ius-release
ius-release-1-4.ius.el5

最新のリポジトリのバージョンを確認します。
http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-xxxxx.rpm
http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-yyyyyy.rpm
バージョンが異なる場合は、該当rpmをダウンロードして、アップデートしておきましょう。

$ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1.0-8.ius.el5.noarch.rpm
$ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-5-4.noarch.rpm
$ rpm -Uvh epel-release-5-4.noarch.rpm
準備中...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
$ rpm -Uvh ius-release-1.0-8.ius.el5.noarch.rpm
準備中...                ########################################### [100%]
   1:ius-release            ########################################### [100%]
$ rpm -qa|grep epel-release
epel-release-5-4
$ rpm -qa|grep ius-release
ius-release-1.0-8.ius.el5

最後に更新されたか確認しています。これで最新ですね。


MySQL5.5 をインストールする

削除したMySQL5.1 パッケージの MySQL5.5 版をインストールするだけです。

$ yum -y install mysql55-server mysqlclient15-devel mysqlclient15 mysql55 mysql55-devel mysql55-libs mysql55-bench php52-mysql
            :

Installed:
  mysql55.i386 0:5.5.16-1.ius.el5
            :

Dependency Installed:
            :

Complete!
$ 
MySQL 5.1 関連の何かが残っていた場合、「MySQL 5.1 と共存できません・・・」のような英文のエラーが発生します。
その際は、正しくMySQL 5.1関連が削除できているか確認しましょう。
また、MySQL 5.5関連をインストールする際も、5.5以外のバージョンに依存したパッケージが混ざっていた場合も同じエラーとなるので、アンインストール、インストールの両方を確認しましょう。

MySQL5.5 の動作確認をする

インストールを終えたら、まず、mysqlのコマンドでバージョンをチェックします。

$ mysql --version
mysql  Ver 14.14 Distrib 5.5.16, for Linux (i686) using readline 5.1

続けて、設定ファイル(/etc/my.cnf)を編集する前に mysqld を起動してみます。

$ /etc/init.d/mysqld start
mysqld を起動中:                                           [  OK  ]

とりあえず、上記でmysqldが動いたようです。

このとき、必ず、ログファイルを確認しましょう。一見、正常に動作しているように見えますが、エラーが出力されている場合があります。

ログファイル : /var/log/mysqld.log
111029 17:43:49 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
111029 17:43:49 [Warning] option 'relay_log_space_limit': unsigned value 17179869184 adjusted to 4294967295
111029 17:43:49 [Note] Plugin 'FEDERATED' is disabled.
111029 17:43:49 InnoDB: The InnoDB memory heap is disabled
111029 17:43:49 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
111029 17:43:49 InnoDB: Compressed tables use zlib 1.2.3
111029 17:43:49 InnoDB: Using Linux native AIO
111029 17:43:49 InnoDB: Initializing buffer pool, size = 128.0M
111029 17:43:49 InnoDB: Completed initialization of buffer pool
111029 17:43:50 InnoDB: highest supported file format is Barracuda.
InnoDB: 127 rollback segment(s) active.
111029 17:43:50  InnoDB: Waiting for the background threads to start
111029 17:43:51 InnoDB: 1.1.8 started; log sequence number 52574
111029 17:43:51 [Warning] 'user' entry 'root@example.com' ignored in --skip-name-resolve mode.
111029 17:43:51 [ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
111029 17:43:51 [ERROR] Native table 'performance_schema'.'events_waits_current' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'events_waits_history' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'events_waits_history_long' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'setup_consumers' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'setup_instruments' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'setup_timers' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'performance_timers' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'threads' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_thread_by_event_name' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_instance' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'events_waits_summary_global_by_event_name' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'file_summary_by_event_name' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'file_summary_by_instance' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'mutex_instances' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'rwlock_instances' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'cond_instances' has the wrong structure
111029 17:43:51 [ERROR] Native table 'performance_schema'.'file_instances' has the wrong structure
111029 17:43:51 [Note] Event Scheduler: Loaded 0 events
111029 17:43:51 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.16-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Distributed by The IUS Community Project

上記は、5.5へアップグレードした時に最初に出力されたログ情報です。
[ERROR]が出力されていますね。
最初のエラー情報にplease run mysql_upgrade to create it とありますから、
このエラーは、mysql_upgradeを動かせばエラー解消できそうです。

$ mysql_upgrade -uroot -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
        :
        :
mysql_upgradeを終えた後、mysqldを再起動してみましょう。その際のログ情報は、以下のようにエラーがなくなりました。
111029 17:54:01 [Note] /usr/libexec/mysqld: Normal shutdown

111029 17:54:01 [Note] Event Scheduler: Purging the queue. 0 events
111029 17:54:01  InnoDB: Starting shutdown...
111029 17:54:03  InnoDB: Shutdown completed; log sequence number 1601166
111029 17:54:03 [Note] /usr/libexec/mysqld: Shutdown complete

111029 17:54:03 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
111029 17:54:04 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
111029 17:54:04 [Warning] option 'relay_log_space_limit': unsigned value 17179869184 adjusted to 4294967295
111029 17:54:04 [Note] Plugin 'FEDERATED' is disabled.
111029 17:54:04 InnoDB: The InnoDB memory heap is disabled
111029 17:54:04 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
111029 17:54:04 InnoDB: Compressed tables use zlib 1.2.3
111029 17:54:04 InnoDB: Using Linux native AIO
111029 17:54:04 InnoDB: Initializing buffer pool, size = 128.0M
111029 17:54:04 InnoDB: Completed initialization of buffer pool
111029 17:54:04 InnoDB: highest supported file format is Barracuda.
111029 17:54:04  InnoDB: Waiting for the background threads to start
111029 17:54:05 InnoDB: 1.1.8 started; log sequence number 1601166
111029 17:54:05 [Warning] 'user' entry 'root@host.rise43.com' ignored in --skip-name-resolve mode.
111029 17:54:05 [Note] Event Scheduler: Loaded 0 events
111029 17:54:05 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.16-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Distributed by The IUS Community Project
これでOKですね。

ここまで終えたら、設定ファイル(/etc/my.cnf)を編集を行います。
ただし、MySQL5.5では、かなりの機能が変更されていて、それにともなってパラメータの変更も多くあります。 MySQL5.5 で削除された機能一覧(おまけ) を参照の上、設定ファイル(/etc/my.cnf)の編集を行いましょう。


さくらインターネットさくらインターネットでもMySQL5.5への対応が図られました。
さくらのレンタルサーバーなら、MySQL自体のアップグレードは、さくらインターネットでやってくれますから、使う側としたら、

  1. mysqldumpでちゃんとsqlバックアップをとる。
    $ mysqldump  -h mysqlXX.sakura.ne.jp -u USERNAME -p PASSWORD DATABASE > db_dump.sql
  2. mysqlでsqlバックアップをリストアする。
    $ mysql  -h mysqlYY.sakura.ne.jp  -u USERNAME -p PASSWORD  -D DATABASE < db_dump.sql
この手順だけでOKなはずです。

先にも書きましたが、いずれ5.5への移行を考える必要はありますね。その時期も他のレンタルサーバーの対応を見ていると、それほど遠くない時期でしょうね。
この記事が、MySQL5.5 へのアップグレードの参考になればうれしく思います。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

mysql5.5系の最新版をインストールする

CentOS 5 の場合、yumを使って デフォルトでインストールされるのは、MySQL5.0系です。 また、CentOS 6 Sc ...

あえてmysql5.1系をインストールする

今回は、MySQLをインストールしてみます。 ただ、CentOS 5 の場合、yumを使って デフォルトでインストールされるのは、MySQL5 ...

MySQLのログの種類とログの仕方を調べてみた(実施例)

今回は、MySQLでロギングを行ってみます。 一口にロギングと言ってもMySQLでは、以下の4つの種類があります。 エラー ログ ...

yumでmysql5.1系を最新版へアップデートする

今までCentOSに関して、ほとんどアプリケーション、サーバー類をインストールする場合、yumを使ってきました。 これは、インストールした ...

Debian(Ubuntu) apt-get upgrade の「E: 未解決の依存関係です。」ではまったら

Debian(Ubuntu) では、パッケージのアップグレードを簡単に行う apt があります。 その代表的なコマンドが、apt-get です ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.6942 [s]