MySQLのUpdate
MySQLをアップデートした時の手順。
5.6.20から5.6.21へアップデートした。
※)今回は壊しても問題がない自宅の環境での作業メモだが、仕事など壊せない環境の場合は検証環境で検討を重ねた上で手順を作成して実施すること。この手順をそのまま鵜呑みにしないこと。もちろん、そのような人がいるとは思ってはいないが。
1.MySQLの設定ファイルをバックアップする
$ sudo mkdir ./backup
$ sudo tar cvfz ./backup/mysql_conf.tgz /etc/mysql
2.全てのデータベースとデータディレクトリをバックアップする
$ mysqldump -uroot -p --all-databases --lock-all-tables --master-data=2 > backup_db.sql $ sudo tar cvfz ./backup/mysql_datadir.tgz /var/lib/mysql/
3.MySQLサーバを停止する
$ sudo service mysql stop
4.MySQLの既存のパッケージを全てアンインストールする
「sudo apt-get autoremove」を使用して不要になったパッケージを削除するが、「apt-get remove --purge」は使用しないこと。これを使用すると設定ファイルも削除してしまうらしい。
$ sudo apt-get remove mysql-server mysql-client mysql-common $ sudo apt-get autoremove $ sudo apt-get autoclean
5.MySQL dependency (kernel asynchronous I/O access library)をインストールする
$ sudo apt-get install libaio1
6.新しいMySQLを取得する
$ wget 'http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-community-server_5.6.21-1ubuntu12.04_i386.deb'
7.MySQL Serverをインストールする
$ sudo dpkg -i mysql-server_5.6.21-1ubuntu14.04_i386.deb (Reading database ... 174341 files and directories currently installed.) Preparing to unpack mysql-server_5.6.21-1ubuntu14.04_i386.deb ... Unpacking mysql-server (5.6.21-1ubuntu14.04) over (5.6.21-1ubuntu14.04) ... dpkg: dependency problems prevent configuration of mysql-server: mysql-server depends on mysql-community-server (= 5.6.21-1ubuntu14.04); however: Version of mysql-community-server on system is 5.6.21-1ubuntu12.04. dpkg: error processing package mysql-server (--install): dependency problems - leaving unconfigured Errors were encountered while processing: mysql-server
community serverが必要だと言われたからインストールする。
$ wget 'http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-community-server_5.6.21-1ubuntu12.04_i386.deb' $ sudo dpkg -i mysql-community-server_5.6.21-1ubuntu12.04_i386.deb (Reading database ... 174341 files and directories currently installed.) Preparing to unpack mysql-community-server_5.6.21-1ubuntu12.04_i386.deb ... . Unpacking mysql-community-server (5.6.21-1ubuntu12.04) over (5.6.21-1ubuntu12.04) ... dpkg: dependency problems prevent configuration of mysql-community-server: mysql-community-server depends on mysql-common (= 5.6.21-1ubuntu12.04); however: Package mysql-common is not installed. dpkg: error processing package mysql-community-server (--install): dependency problems - leaving unconfigured Processing triggers for ureadahead (0.100.0-16) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Errors were encountered while processing: mysql-community-server
今度は、「Package mysql-common is not installed.」といわれたからmysql-commonをインストールする。
$ wget 'http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-common_5.6.21-1ubuntu12.04_i386.deb' sudo dpkg -i mysql-common_5.6.21-1ubuntu12.04_i386.deb
成功したようだから、mysql-community-serverをインストールする。
$ sudo dpkg -i mysql-community-server_5.6.21-1ubuntu12.04_i386.deb Selecting previously unselected package mysql-common. (Reading database ... 174341 files and directories currently installed.) Preparing to unpack mysql-common_5.6.21-1ubuntu12.04_i386.deb ... Unpacking mysql-common (5.6.21-1ubuntu12.04) ... Setting up mysql-common (5.6.21-1ubuntu12.04) ... rio@ubuntu:~/work/mysql/installer$ sudo dpkg -i mysql-community-server_5.6.21-1ubuntu12.04_i386.deb (Reading database ... 174428 files and directories currently installed.) Preparing to unpack mysql-community-server_5.6.21-1ubuntu12.04_i386.deb ... . Unpacking mysql-community-server (5.6.21-1ubuntu12.04) over (5.6.21-1ubuntu12.04) ... Setting up mysql-community-server (5.6.21-1ubuntu12.04) ... ...... * MySQL Community Server 5.6.21 is started Processing triggers for ureadahead (0.100.0-16) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
成功したようだからmysql-serverをインストールする。
$ sudo dpkg -i mysql-server_5.6.21-1ubuntu14.04_i386.deb (Reading database ... 174428 files and directories currently installed.) Preparing to unpack mysql-server_5.6.21-1ubuntu14.04_i386.deb ... Unpacking mysql-server (5.6.21-1ubuntu14.04) over (5.6.21-1ubuntu14.04) ... dpkg: dependency problems prevent configuration of mysql-server: mysql-server depends on mysql-community-server (= 5.6.21-1ubuntu14.04); however: Version of mysql-community-server on system is 5.6.21-1ubuntu12.04. dpkg: error processing package mysql-server (--install): dependency problems - leaving unconfigured Errors were encountered while processing: mysql-server
ダウンロードしたserverのバージョンがmysql-community-serverのものと違っていたので、同じものをダウンロードしてインストールする。
$ wget 'http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-server_5.6.21-1ubuntu12.04_i386.deb' $ sudo dpkg -i mysql-server_5.6.21-1ubuntu12.04_i386.deb
8.クライアントツールのインストール
$ wget 'http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-client_5.6.21-1ubuntu12.04_i386.deb' $ sudo dpkg -i mysql-client_5.6.21-1ubuntu12.04_i386.deb Selecting previously unselected package mysql-client. (Reading database ... 174428 files and directories currently installed.) Preparing to unpack mysql-client_5.6.21-1ubuntu12.04_i386.deb ... Unpacking mysql-client (5.6.21-1ubuntu12.04) ... dpkg: dependency problems prevent configuration of mysql-client: mysql-client depends on mysql-community-client (= 5.6.21-1ubuntu12.04); however: Package mysql-community-client is not installed.
community-clientがインストールされていないから先にそちらをインストールする。
$ wget 'http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-community-client_5.6.21-1ubuntu12.04_i386.deb' $ sudo dpkg -i mysql-community-client_5.6.21-1ubuntu12.04_i386.deb
成功したようだから、clientをインストールする。
$ sudo dpkg -i mysql-client_5.6.21-1ubuntu12.04_i386.deb (Reading database ... 174478 files and directories currently installed.) Preparing to unpack mysql-client_5.6.21-1ubuntu12.04_i386.deb ... Unpacking mysql-client (5.6.21-1ubuntu12.04) over (5.6.21-1ubuntu12.04) ... Setting up mysql-client (5.6.21-1ubuntu12.04) ...
インストールが成功したかを確認する。
$ mysql --version mysql Ver 14.14 Distrib 5.6.21, for Linux (i686) using EditLine wrapper