MySQL 5.5がインストールされているサーバーから
MySQL 5.6のデータベースをmysqldumpしようとした時に下記のエラーが出てdumpに失敗しました。
Couldn’t execute ‘SET OPTION SQL_QUOTE_SHOW_CREATE=1’
MySQL 5.6ではSET OPTION構文が廃止されているようです。
Bug #67507
mysqldump from 5.5 fails with an error when trying to dump data from mysql-5.6
http://bugs.mysql.com/bug.php?id=67507
5.5系では5.5.34以降で修正されているとのこと。
まずはクライアント側のディストリビューションを調べてみます。
1 |
mysqldump -V |
mysqldump Ver 10.13 Distrib 5.5.18, for Linux (x86_64)
5.6系以降にアップグレードすれば良い話ですが、5.5のままで稼働したいサーバーだったため、
5.5系の現時点での最新バージョン(5.5.42)にアップグレードしてみます。
念のためMySQLをバックアップ。
1 |
mysqldump -u【DB_USER】 -p -h127.0.0.1 --all-databases --add-drop-table --single-transaction --hex-blob | lz4 -9 > /var/tmp/mysql_all_backup.sql.lz4 |
お気に入りの圧縮形式lz4で圧縮しつつdumpしています。
lz4をインストールしたい場合は下記コマンドでインストール。
1 |
yum -y install lz4 |
一応MySQLの設定ファイルもバックアップ。
1 |
cp -a /etc/my.cnf{,.bk} |
現在のMySQLのインストール状況を確認。
1 |
rpm -qa | grep -i mysql |
「MySQL-」ではじまる5.5系のものを全て削除。
1 2 3 4 5 |
rpm -e --nodeps MySQL-shared-5.5.18-1.el6.x86_64 rpm -e --nodeps MySQL-devel-5.5.18-1.el6.x86_64 rpm -e --nodeps MySQL-client-5.5.18-1.el6.x86_64 rpm -e --nodeps MySQL-server-5.5.18-1.el6.x86_64 rpm -e --nodeps MySQL-shared-compat-5.5.18-1.el6.x86_64 |
最新バージョン確認。
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5
ダウンロード&インストール。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
sudo su - cd /var/tmp # centos 6の場合 VERSION=5.5.42-1.el6.x86_64 # centos 5の場合 VERSION=5.5.42-1.rhel5.x86_64 wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/MySQL-shared-${VERSION}.rpm wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/MySQL-devel-${VERSION}.rpm wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/MySQL-client-${VERSION}.rpm wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/MySQL-server-${VERSION}.rpm wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/MySQL-shared-compat-${VERSION}.rpm rpm -Uvh \ MySQL-shared-${VERSION}.rpm \ MySQL-devel-${VERSION}.rpm \ MySQL-client-${VERSION}.rpm \ MySQL-server-${VERSION}.rpm \ MySQL-shared-compat-${VERSION}.rpm |
MySQLスタート。
1 |
service mysql start |
MySQLアップグレード。
1 |
mysql_upgrade -u【DBユーザー】 -p -h127.0.0.1 |
念のためMySQL restart。
1 |
service mysql restart |
ディストリビューション(バージョン)確認。
1 |
mysqldump -V |
mysqldump Ver 10.13 Distrib 5.5.42, for Linux (x86_64)
ディストリビューションが5.5.18から5.5.42にアップグレードされました。
再度mysqldumpを実行したところ、成功しました。