SEが教えるEC運営のブログ ウェブ運用と開発現場を経験したSEのTIPS
TOP > BLOG > IT記事

mysqlのバージョンを5.1から5.7にするには5.6を経由する必要あり

早川朋孝 早川朋孝
EC専門のSE

mysqlのバージョンを5.1から5.7にするには少し面倒で、直接バージョンアップをすることができません。まず5.1から5.6にして、そこから5.7にするという手順が必要です。

  • mysql5.1 → mysql5.6
  • mysql5.6 → mysql5.7

実際にこれをやってみます。

確認環境

  • Centos6.1
  • mysql5.1

mysqlのバージョンを確認

# mysql –version

mysql --version

次にosのバージョンを確認

[admin@tk2-407-44649 backups]$ cat /etc/redhat-release
CentOS release 6.10 (Final)

cat centos

さて、当然ダンプしましょう。保存場所はお好きなように。ちなみに、mysqlを削除してもサーバーの中のmysqlデータは消えません。パソコンからエクセルをアンインストールしても、エクセルのデータは消えないのと同じです。

# mysqldump -u root -p -x dbname > /home/admin/backup/bk.sql

DBをとめます。サヨナラmysql

# service mysqld stop
Stopping mysqld:

いったんmysqlを消しましょう。今度こそ本当にさよなら。

#yum remove mysql*

yum

もういったんmysqlをyumに追加、インストールしなおす準備。サヨナラした後さっそく再会。

#yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

mysql5.6を有効にしよう

#yum-config-manager –disable mysql55-community
#yum-config-manager –enable mysql56-community

もう一回mysqlをインストール。もちろん5.6です。

#yum install mysql mysql-devel mysql-server mysql-utilities

いったんmysqlを起動しましょう。

#service mysqld start

いったんバージョン確認をする、ちゃんと5.6になっていますね。

#mysql –version

そして、もういっかいmysqlを停止します。サヨナラ。

#service mysqld stop

面倒だけどもういっかいmysqlを消す。そうしないとできないので仕方ないです。

#yum remove mysql*

rpmリポジトリをyumに追加します。

#yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

5.7を有効にしましょう。

#yum-config-manager –disable mysql56-community
#yum-config-manager –enable mysql57-community-dmr

再度mysqlをインストールします。

#yum install mysql mysql-devel mysql-server mysql-utilities

待望のmysql5.7をやっと起動と思いきや

#service mysqld start

failed

oh my god
なぜかfailed

しかーし、大丈夫です
safeモードで起動しましょう

# mysqld_safe –skip-grant-tables &
#service mysqld status

するとsafeモードで動いているのが分かります。

そこですかさずupgradeしましょう。あと少し。

#mysql_upgrade -u root

この間、データ量に応じて処理が進みます。その後通常モードでmysql起動しましょう。お疲れ様でした。

safeモードで起動すらできない場合

safeモードで起動する際、それすらできない場合はディレクトリを作成しましょう。ちゃんとログを見るのが大事です。エラーメッセージが出ているから面倒がらずに読むだけ。

参照した記事

#sudo mkdir -p /var/run/mysqld
#sudo chown mysql:mysql /var/run/mysqld

Ruby on Railsの場合のおまけ

mysqlをRuby on Railsから使用している場合、5.1から5.7にするとgemのバージョンアップが必要となります。gemのmysqlをバージョンアップ

# gem uninstall mysql2
# gem install mysql2
bundle install

大抵はこれで動くと思いますが、お使いのアプリの仕様に準じて対応しましょう。

×

メルマガ登録

SEが商品登録、在庫管理、発注などのEC業務を効率よくプログラムで実施する方法を無料配信します。

  • APIやツールによる業務効率化
  • 広告運用に関するTips
  • CVRを改善するアクセス解析のコツ
このブログを書いてる人
早川 朋孝 EC専門のSE
IT業界歴20年のエンジニアです。ネットショップ勤務で苦労した経験から、EC・ネットショップ事業者に向けて、バックオフィス業務の自動化・効率化を提案するSEをしています。
Web運用の経験もあり、アクセス解析、広告運用が得意で、広告APIとプログラムとの合わせ技で並の広告代理店にはできない提案が可能です。
プロフィール
API連携の相談にのります
趣味は読書、ピアノ、マリノスの応援など
PAGE TOP