LoginSignup
2
3

More than 3 years have passed since last update.

MySQL5.6から5.7にアップグレードする手順

Posted at

はじめに

初心者の備忘として。
Laravel×MySQLで学習を進めていると、結構最初の段階でエラーが出て進めなくなった。調べてみたところMySQLのアップグレードで解消できる模様。アップグレードがてら、今後の参考にしようということでまとめてみます。

■参考になる(かもしれない)人
・MySQL5.6から5.7にアップグレードしたい人
・ドットインストールのローカル開発環境の構築 [macOS版]のレッスンでMySQLをインストールした人(MySQLを、MacでYumリポジトリを使ってインストールした人)

【困った① いろいろなやり方があったけど…】

アップグレードについて調べていると、いろいろな方法が。この記事(Qiita)とかこの記事(企業発信)はサーバーの停止とかMySQLの削除とかしているからそれは必須?違う箇所があるけどどっちが正しい?どれをやっても同じ?

調べても調べてもわからないので、初めてMySQLの公式ドキュメントをみてみることに。

アップグレード手順は、プラットフォームと初期インストールの実行方法によって異なります。現在のMySQLインストールに適用される手順を使用します。

  • Windows以外のプラットフォームでのバイナリおよびパッケージベースのインストール…
  • MySQL Yumリポジトリを使用したEnterprise LinuxプラットフォームまたはFedoraへのインストール…
  • MySQL APTリポジトリを使用したUbuntuへのインストール…
  • MySQL SLESリポジトリを使用したSLESへのインストール…
  • Dockerを使用して実行されるインストール…
  • Windowsでのインストール…

・・・なるほど。初期インストールの実行方法によってアップグレードの方法は異なるのか。しかも現在インストールされているバージョンによっても変わってくる模様。だからいろいろな方法が紹介されているのか!
ここで新たな問題が。

【困った② どうやってMySQLをインストールしたのか覚えていない…】

初期インストールの実行方法によってアップグレードする方法が違うのはわかったけど…どうやってインストールしたっけ?
ドットインストールの「ローカル開発環境の構築 [macOS版]」を進めていたら、いつの間にかPHPとかMySQLが使えるようになっていたな(確か)、と思い出しもう一度動画をおさらい。
仮想マシンの設定をしよう(#7)でgitをインストールし、gitを使ってアプリケーション設定用のスクリプトをDL・実行していた。その中でphpやMySQLが、yum を使ってインストールされていた。つまりMacユーザでドットインストールでローカル開発環境を整えた場合、MySQL Yumリポジトリを使用している模様。
同じ状況の人がいれば(いるのかな?)、これ以降の記事が参考になると思います(多分)。

【環境】
・Mac
・CentOS 6.8
・ローカル開発環境(Vagrant,virtualbox)

【困った③ じゃあどうやればいいの?】

MySQL Yumリポジトリを使用したMySQLのアップグレードをとりあえず読んでみた。箇条書きにしてみます。

  • デフォで、自動で現在のリリースシリーズの最新バージョンにしてくれる(例えば、5.6.xの「.x」シリーズは自動的に更新される。5.7には更新されない。)
  • 5.6から5.7に更新するには、5.6のサブリポジトリを無効にし、5.7のサブリポジトリを有効にする必要がある。
  • 上の設定をした後、MySQLのアップグレードを行う

なるほど。なんとなくわかった(気がする)。

STEP 0. yumのユーティリティツールをインストール(必要?)

後でインストールするMySQLのバージョンを5.7にするために5.6を無効化したりするのに利用するらしいから、上記で触れたドキュメントには記載がなかったけど実行してみた。「インストールしています」とかいろいろ表示されたから、必要だったのかな??(誰か教えてください)
【余談】そもそもyumって何??

[vagrant@localhost ~]$ sudo yum -y install yum-utils

STEP 1. サブリポジトリの有効/無効の確認

MySQL Yumリポジトリ内のサブリポジトリを下記のコマンドで全て表示し、それぞれの有効・無効の確認をする。
ふむふむ、mysql56-communityは有効で、mysql57-community-・・・は無効になっている(だからバージョンが5.6なのかな?)。

[vagrant@localhost ~]$  yum repolist all | grep mysql
mysql-connectors-community        MySQL Connectors Community        有効:    137
mysql-connectors-community-source MySQL Connectors Community - Sour 無効
mysql-tools-community             MySQL Tools Community             有効:     93
mysql-tools-community-source      MySQL Tools Community - Source    無効
mysql55-community                 MySQL 5.5 Community Server        無効
mysql55-community-source          MySQL 5.5 Community Server - Sour 無効
mysql56-community                 MySQL 5.6 Community Server        有効:    606
mysql56-community-source          MySQL 5.6 Community Server - Sour 無効
mysql57-community-dmr             MySQL 5.7 Community Server Develo 無効
mysql57-community-dmr-source      MySQL 5.7 Community Server Develo 無効

STEP 2. サブリポジトリの5.6の無効化・5.7の有効化

MySQL 5.6シリーズのサブリポジトリを無効にして、MySQL 5.7シリーズのサブリポジトリを有効にする(ドキュメントの説明はちょっとややこしかった)。

[vagrant@localhost ~]$ sudo yum-config-manager --disable mysql56-community
[vagrant@localhost ~]$ sudo yum-config-manager --enable mysql57-community-dmr

ちなみに、sudo yum-config-manager --enable mysql57-community
と実行しても、読み込んだプラグイン:fastestmirrorとだけ表示されて有効に変わらなかったので、他の記事も参考に-dmrをつけて実行したところ、ちゃんと有効に変わった。

STEP 3. MySQLのアップグレード

[vagrant@localhost ~]$ sudo yum update mysql-server  //dnfが有効でない場合

※dnf有効の場合、sudo dnf upgrade mysql-server
【余談】・・・dnfって何??

STEP 4. 確認

ちゃんとMySQL5.7になっているか確認。

[vagrant@localhost ~]$ mysql --version
mysql  Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using  EditLine wrapper

参考

Windows以外のプラットフォームでのバイナリおよびパッケージベースのインストールについて
MySQL Yumリポジトリを使用したEnterprise LinuxプラットフォームまたはFedoraへのインストールについて
MySQL APTリポジトリを使用したUbuntuへのインストールについて
MySQL SLESリポジトリを使用したSLESへのインストールについて
Dockerを使用して実行されるインストール
Windowsでのインストールについて

【余談】

■そもそもyumって何??

  • yumは、Red Hat系のLinuxディストリビューションで使われている“RPMパッケージ”を扱うためのパッケージ管理コマンド。
  • yumコマンドの書式: yum [オプション] コマンド [パッケージ名など] (例)yum install[update/erase] パッケージ名

参考リンク

■・・・dnfって何??

DNFまたはDandified Yum (ダンディファイド ヤム)は、RPMベースのパッケージ管理システムを採用しているLinuxディストリビューション用のパッケージマネージャであるYum 3.4のフォークであり、Yumの事実上の後継バージョン

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3