LoginSignup
14
12

More than 5 years have passed since last update.

公式サイトを見ながらMySQL8.0をyumでインストール

Last updated at Posted at 2018-04-23

英語はこわい

MySQLを5.6から5.7にアップグレードするときには、下記のサイトを見ながらやってました。
▼MySQL5.1から5.7にバージョンアップさせるための手順
▼CentOSでMySQLをバージョンアップさせる方法

日本語だとすぐ理解できるし、楽だし。
しかし今回はリリースされてすぐのバージョンにアップグレードするので、
公式サイトを見ようと思うに至りました。

実際にインストールして常時起動設定まで

さっきのサイトも参考にしつつ、メインは公式サイトを見るといった形で進めます。

ミスを記録に残しつつ

ここからは打ったコマンドの半分近くがエラーを起こすものになってます。
(タイプミス含む)

つまるところ、公式サイトを見てください。
この投稿はきっとあなたをイライラさせます。

現在使っているMySQLを消す

まず以下のコマンドは全て上手くいってません。

[exia@localhost ~]$ yum remove mysql-community-release.noarch
読み込んだプラグイン:fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
このコマンドを実行するには root である必要があります。
[exia@localhost ~]$ sudo yum remove mysql-community-release.noarch
[sudo] password for exia:
読み込んだプラグイン:fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
引数に一致しません: mysql-community-release.noarch
削除対象とマークされたパッケージはありません。
[exia@localhost ~]$ yum list | grep "^mysql-.*server"
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
mysql-community-server.x86_64  5.7.21-1.el7  @mysql57-community

その前に、MySQLをストップします。

[exia@localhost ~]$ sudo service mysqld stop
Redirecting to /bin/systemctl stop  mysqld.service

ようやく下記で削除できました。

[exia@localhost ~]$ sudo yum remove mysql*
読み込んだプラグイン:fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-client.x86_64 0:5.7.21-1.el7 を 削除
---> パッケージ mysql-community-common.x86_64 0:5.7.21-1.el7 を 削除
---> パッケージ mysql-community-devel.x86_64 0:5.7.21-1.el7 を 削除
---> パッケージ mysql-community-libs.x86_64 0:5.7.21-1.el7 を 削除
---> パッケージ mysql-community-server.x86_64 0:5.7.21-1.el7 を 削除
---> パッケージ mysql-connector-python.x86_64 0:2.1.7-1.el7 を 削除
---> パッケージ mysql-utilities.noarch 0:1.6.5-1.el7 を 削除
---> パッケージ mysql57-community-release.noarch 0:el7-7 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package                  アーキテクチャー
                                 バージョン   リポジトリー                 容量
================================================================================
削除中:
 mysql-community-client   x86_64 5.7.21-1.el7 @mysql57-community          106 M
 mysql-community-common   x86_64 5.7.21-1.el7 @mysql57-community          2.5 M
 mysql-community-devel    x86_64 5.7.21-1.el7 @mysql57-community           21 M
 mysql-community-libs     x86_64 5.7.21-1.el7 @mysql57-community          9.4 M
 mysql-community-server   x86_64 5.7.21-1.el7 @mysql57-community          740 M
 mysql-connector-python   x86_64 2.1.7-1.el7  @mysql-connectors-community 1.1 M
 mysql-utilities          noarch 1.6.5-1.el7  @mysql-tools-community      3.5 M
 mysql57-community-release
                          noarch el7-7        installed                   7.8 k

トランザクションの要約
================================================================================
削除  8 パッケージ

インストール容量: 884 M
上記の処理を行います。よろしいでしょうか? [y/N]y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  削除中                  : mysql-utilities-1.6.5-1.el7.noarch              1/8
  削除中                  : mysql-community-devel-5.7.21-1.el7.x86_64       2/8
  削除中                  : mysql-connector-python-2.1.7-1.el7.x86_64       3/8
  削除中                  : mysql57-community-release-el7-7.noarch          4/8
  削除中                  : mysql-community-server-5.7.21-1.el7.x86_64      5/8
  削除中                  : mysql-community-client-5.7.21-1.el7.x86_64      6/8
  削除中                  : mysql-community-libs-5.7.21-1.el7.x86_64        7/8
  削除中                  : mysql-community-common-5.7.21-1.el7.x86_64      8/8
  検証中                  : mysql-community-devel-5.7.21-1.el7.x86_64       1/8
  検証中                  : mysql-community-client-5.7.21-1.el7.x86_64      2/8
  検証中                  : mysql-community-libs-5.7.21-1.el7.x86_64        3/8
  検証中                  : mysql-connector-python-2.1.7-1.el7.x86_64       4/8
  検証中                  : mysql-utilities-1.6.5-1.el7.noarch              5/8
  検証中                  : mysql57-community-release-el7-7.noarch          6/8
  検証中                  : mysql-community-server-5.7.21-1.el7.x86_64      7/8
  検証中                  : mysql-community-common-5.7.21-1.el7.x86_64      8/8

削除しました:
  mysql-community-client.x86_64 0:5.7.21-1.el7
  mysql-community-common.x86_64 0:5.7.21-1.el7
  mysql-community-devel.x86_64 0:5.7.21-1.el7
  mysql-community-libs.x86_64 0:5.7.21-1.el7
  mysql-community-server.x86_64 0:5.7.21-1.el7
  mysql-connector-python.x86_64 0:2.1.7-1.el7
  mysql-utilities.noarch 0:1.6.5-1.el7
  mysql57-community-release.noarch 0:el7-7

完了しました!

レポジトリを落とす

結論、レポジトリがある場所はhttp://dev.mysql.com/get/です。
そこが分からず、以下ではミスを続けてます。

[exia@localhost ~]$ sudo yum install -ivh https://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el7-1.noarch.rpm
[sudo] password for exia:
読み込んだプラグイン:fastestmirror
Usage: yum [options] COMMAND

List of Commands:

check          rpmdb の問題を確認する
check-update   更新に利用できるパッケージを確認する
clean          キャッシュデータを削除する
deplist        パッケージの依存性の一覧を表示する
distribution-synchronization 最新の利用可能なバージョンへインストール済みパッケージを同期する
downgrade      パッケージのダウングレード
erase          システムから削除するパッケージ
fs             Acts on the filesystem data of the host, mainly for removing docs/lanuages for minimal hosts.
fssnapshot     Creates filesystem snapshots, or lists/deletes current snapshots.
groups         グループ情報の表示または使用
help           役立つ使い方のメッセージを表示する
history        トランザクション履歴を表示、使用する
info           パッケージもしくはパッケージのグループについての詳細を表示する
install        システムにパッケージをインストールする
list           パッケージグループの一覧を表示する
load-transaction filename から保存済みトランザクションを読み込む
makecache      メタデータキャッシュを生成する
provides       指定値を提供するパッケージを検索する
reinstall      パッケージの再インストール
repo-pkgs      Treat a repo. as a group of packages, so we can install/remove all of them
repolist       ソフトウェアリポジトリーの構成を表示する
search         指定した文字列でパッケージの詳細を検索する
shell          対話型の yum シェルを実行する
swap           Simple way to swap packages, instead of using shell
update         システムのパッケージを更新する
update-minimal Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system
updateinfo     Acts on repository update information
upgrade        不要になったパッケージを考慮しながらパッケージを更新する
version        ホストの利用できるリポジトリーのバージョンを表示する


コマンドライン エラー: no such option: -i

[exia@localhost ~]$ sudo yum install -y https://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el7-1.noarch.rpm
読み込んだプラグイン:fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
ファイルが開けません:  https://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el7-1.noarch.rpm を飛ばします。
エラー: 何もしません

[exia@localhost ~]$ sudo rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
エラー: mysql80-community-release-el7-1.noarch.rpm のオープンに失敗: そのようなファイルやディレクトリはありません

[exia@localhost ~]$ sudo rpm -Uvh http://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el7-1.noarch.rpm
http://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el7-1.noarch.rpm を取得中
curl: (22) The requested URL returned error: 404 Not Found
エラー: http://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el7-1.noarch.rpm をスキップします - 転送に失敗しました

[exia@localhost ~]$ sudo rpm -Uvh https://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el7-1.noarch.rpm
https://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el7-1.noarch.rpm を取得中
curl: (22) The requested URL returned error: 404 Not Found
エラー: https://dev.mysql.com/downloads/repo/yum/mysql80-community-release-el7-1.noarch.rpm をスキップします - 転送に失敗しました

ようやく成功しました。

[exia@localhost ~]$ sudo rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm を取得中
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:mysql80-community-release-el7-1  ################################# [100%]

どのバージョンのMySQLを使うかを選ぶ

ここがよく分かりませんでした...。

インストールしてから設定するんじゃないの..?と思ったのですが、
レポジトリを落としてきた段階でバージョン8.0用のものが有効になっていたので良しとしました。(mysql80-community/x86_64)

[exia@localhost ~]$ yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community       無効
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - Sou 無効
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community       無効
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - Sou 無効
mysql-connectors-community/x86_64  MySQL Connectors Community        有効:    51
mysql-connectors-community-source  MySQL Connectors Community - Sour 無効
mysql-tools-community/x86_64       MySQL Tools Community             有効:    63
mysql-tools-community-source       MySQL Tools Community - Source    無効
mysql-tools-preview/x86_64         MySQL Tools Preview               無効
mysql-tools-preview-source         MySQL Tools Preview - Source      無効
mysql55-community/x86_64           MySQL 5.5 Community Server        無効
mysql55-community-source           MySQL 5.5 Community Server - Sour 無効
mysql56-community/x86_64           MySQL 5.6 Community Server        無効
mysql56-community-source           MySQL 5.6 Community Server - Sour 無効
!mysql57-community/x86_64          MySQL 5.7 Community Server        無効
mysql57-community-source           MySQL 5.7 Community Server - Sour 無効
mysql80-community/x86_64           MySQL 8.0 Community Server        有効:    17
mysql80-community-source           MySQL 8.0 Community Server - Sour 無効

インストールする

公式サイトの通り。スッと行きました。

[exia@localhost ~]$ sudo yum install mysql-community-server
[sudo] password for exia:
読み込んだプラグイン:fastestmirror
base                                                                                                                                                  | 3.6 kB  00:00:00
extras                                                                                                                                                | 3.4 kB  00:00:00
mysql-connectors-community                                                                                                                            | 2.5 kB  00:00:00
mysql-tools-community                                                                                                                                 | 2.5 kB  00:00:00
mysql80-community                                                                                                                                     | 2.5 kB  00:00:00
updates                                                                                                                                               | 3.4 kB  00:00:00
(1/4): mysql-connectors-community/x86_64/primary_db                                                                                                   |  20 kB  00:00:00
(2/4): mysql80-community/x86_64/primary_db                                                                                                            |  16 kB  00:00:00
(3/4): mysql-tools-community/x86_64/primary_db                                                                                                        |  41 kB  00:00:00
(4/4): updates/7/x86_64/primary_db                                                                                                                    | 6.9 MB  00:00:12
Determining fastest mirrors
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-server.x86_64 0:8.0.11-1.el7 を インストール
--> 依存性の処理をしています: mysql-community-common(x86-64) = 8.0.11-1.el7 のパッケージ: mysql-community-server-8.0.11-1.el7.x86_64
--> 依存性の処理をしています: mysql-community-client(x86-64) >= 8.0.0 のパッケージ: mysql-community-server-8.0.11-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-client.x86_64 0:8.0.11-1.el7 を インストール
--> 依存性の処理をしています: mysql-community-libs(x86-64) >= 8.0.0 のパッケージ: mysql-community-client-8.0.11-1.el7.x86_64
---> パッケージ mysql-community-common.x86_64 0:8.0.11-1.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-libs.x86_64 0:8.0.11-1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=============================================================================================================================================================================
 Package                                          アーキテクチャー                 バージョン                              リポジトリー                                 容量
=============================================================================================================================================================================
インストール中:
 mysql-community-server                           x86_64                           8.0.11-1.el7                            mysql80-community                           341 M
依存性関連でのインストールをします:
 mysql-community-client                           x86_64                           8.0.11-1.el7                            mysql80-community                            26 M
 mysql-community-common                           x86_64                           8.0.11-1.el7                            mysql80-community                           537 k
 mysql-community-libs                             x86_64                           8.0.11-1.el7                            mysql80-community                           2.2 M

トランザクションの要約
=============================================================================================================================================================================
インストール  1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 369 M
インストール容量: 1.7 G

Is this ok [y/d/N]: y
Downloading packages:
(1/4): mysql-community-common-8.0.11-1.el7.x86_64.rpm                                                                                                 | 537 kB  00:00:01
(2/4): mysql-community-libs-8.0.11-1.el7.x86_64.rpm                                                                                                   | 2.2 MB  00:00:03
(3/4): mysql-community-client-8.0.11-1.el7.x86_64.rpm                                                                                                 |  26 MB  00:00:37
(4/4): mysql-community-server-8.0.11-1.el7.x86_64.rpm                                                                                                 | 341 MB  00:04:32
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                         1.3 MB/s | 369 MB  00:04:37
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
  インストール中          : mysql-community-common-8.0.11-1.el7.x86_64                                                                                                   1/4
  インストール中          : mysql-community-libs-8.0.11-1.el7.x86_64                                                                                                     2/4
  インストール中          : mysql-community-client-8.0.11-1.el7.x86_64                                                                                                   3/4
  インストール中          : mysql-community-server-8.0.11-1.el7.x86_64                                                                                                   4/4
  検証中                  : mysql-community-server-8.0.11-1.el7.x86_64                                                                                                   1/4
  検証中                  : mysql-community-client-8.0.11-1.el7.x86_64                                                                                                   2/4
  検証中                  : mysql-community-libs-8.0.11-1.el7.x86_64                                                                                                     3/4
  検証中                  : mysql-community-common-8.0.11-1.el7.x86_64                                                                                                   4/4

インストール:
  mysql-community-server.x86_64 0:8.0.11-1.el7

依存性関連をインストールしました:
  mysql-community-client.x86_64 0:8.0.11-1.el7              mysql-community-common.x86_64 0:8.0.11-1.el7              mysql-community-libs.x86_64 0:8.0.11-1.el7

完了しました!

MySQLを起動する

上手くいきました。

[exia@localhost ~]$ sudo systemctl start mysqld.service
[sudo] password for exia:
[exia@localhost ~]$ sudo systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 月 2018-04-23 23:26:25 JST; 16s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 2522 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 2543 (mysqld)
   Status: "SERVER_OPERATING"
   CGroup: /system.slice/mysqld.service
           └─2543 /usr/sbin/mysqld

 4月 23 23:26:15 localhost.localdomain systemd[1]: Starting MySQL Server...
 4月 23 23:26:25 localhost.localdomain systemd[1]: Started MySQL Server.

常時起動設定をおこなう

CentOS7ではこのコマンドは使えないってことなのでしょうか。

[exia@localhost ~]$ chkconfig --list mysqld

注記: この出力は SysV サービスのみであり、ネイティブな systemd のサービスは含まれていません。
      systemd services. SysV 設定のデータはネイティブな systemd の設定によって上書きされます。
      systemd サービスを一覧表示するには 'systemctl list-unit-files' を使用してください。
      特定のターゲットにおいて有効化されているサービスを確認するには、
      'systemctl list-dependencies [target]' 。

サービス mysqld に関する情報の読み込み中にエラーが発生しました: そのようなファイルやディレクトリはありません
[exia@localhost ~]$ chkconfig --list mysqld.service

注記: この出力は SysV サービスのみであり、ネイティブな systemd のサービスは含まれていません。
      systemd services. SysV 設定のデータはネイティブな systemd の設定によって上書きされます。
      systemd サービスを一覧表示するには 'systemctl list-unit-files' を使用してください。
      特定のターゲットにおいて有効化されているサービスを確認するには、
      'systemctl list-dependencies [target]' 。

サービス mysqld.service に関する情報の読み込み中にエラーが発生しました: そのようなファイルやディレクトリはありません

代わりにこちらを。
このコマンドの結果がenabledなら常時起動設定がONになっています。
参考(Centos7でmysql のインストールとインストール時のエラー対処

[exia@localhost ~]$ systemctl is-enabled mysqld.service
enabled

バージョン確認をする

MySQLのバージョンが8.0になっていることが確認できました。

[exia@localhost ~]$ mysql --version
mysql  Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL)

完了!

終わりに

アップグレードしただけですね...。
といっても、仕事でもプライベートでもMySQLはphpmyadminでしか扱わないので、あんまり良くわかってない..。

ありがとうございました。

14
12
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
14
12