Webは用いる人のリテラシーで決まる 文系出身ITエンジニアの技術・マーケティングBLOG
Twitter Facebook
TOP > BLOG >

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

sql

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

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

このブログを書いてる人
早川 朋孝

業界15年ウェブ運用が専門のITエンジニアです。サーバー保守やアクセス解析などフロントからバックエンドまで何でも対応します。データと科学的エビデンスを重視し、月140時間は読書します。ウェブ業界の裏側や読書で学んだこと、社会的なことなどをブログ記事にします。ネコ好きなタバコ嫌いで、明治学院フランス文学科卒という文系出身のエンジニアです。マリノスファン。

facebookへ
PAGE TOP