MYSQL5.7から8.0へのバージョンアップ

2020 年 1 月 20 日 Comments off

phpを先日バージョンアップしたのですが、実はその前に、mysqlについてもバージョンアップしました。
久しぶりのサーバの中をいろいろと確認するとそれぞれにバージョンが古いので
このままでは、セキュリティ上もよくないと思いまず新年一発目でこちらのmysqlをバージョンアップしました。
(記事としては、2発目ですが・・・)

現在のOSのバージョンは、6.10です。
こちらも7に上げないとと思っているのですが踏ん切りがつかず・・・
今回は、mysqlのバージョンアップでいこうと思います。

[root@tkweblife ~]# cat /etc/redhat-release
CentOS release 6.10 (Final)

mysqlのバージョンは、5.7です。
どうやらいつのまに8に上がっていたのでこんなにバージョンが上がっていると少し焦って作業に入りました。

[root@tkweblife ~]# mysql --version
mysql  Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using  EditLine wrapper

まずmysqlのバージョンが新しいのは、mysql-community-serverにあるようです。

[root@tkweblife yum.repos.d]# yum info mysql-community-server
読み込んだプラグイン:fastestmirror, priorities, security
Determining fastest mirrors
 * base: mirrors.cat.net
 * centos-sclo-rh: mirrors.cat.net
 * centos-sclo-sclo: mirrors.cat.net
 * extras: mirrors.cat.net
 * updates: mirrors.cat.net
base                                                     | 3.7 kB     00:00     
centos-sclo-rh                                           | 2.9 kB     00:00     
centos-sclo-sclo                                         | 2.9 kB     00:00     
extras                                                   | 3.4 kB     00:00     
mysql80-community                                        | 2.5 kB     00:00     
mysql80-community/primary_db                             |  98 kB     00:00     
updates                                                  | 3.4 kB     00:00     
updates/primary_db        42% [======         ]  0.0 B/s | 3.4 MB     --:-- ETA
updates/primary_db        84% [============-  ] 5.6 MB/s | 6.8 MB     00:00 ETA 
updates/primary_db                                       | 8.0 MB     00:00     
12 packages excluded due to repository priority protections
インストール済みパッケージ
名前                : mysql-community-server
アーキテクチャ      : x86_64
バージョン          : 5.7.18
リリース            : 1.el6
容量                : 769 M
リポジトリー        : installed
提供元リポジトリー  : mysql57-community
要約                : A very fast and reliable SQL database server
URL                 : http://www.mysql.com/
ライセンス          : Copyright (c) 2000, 2017, Oracle and/or its affiliates.
                    : All rights reserved. Under GPLv2 license as shown in the
                    : Description field.
説明                : The MySQL(TM) software delivers a very fast,
                    : multi-threaded, multi-user, and robust SQL (Structured
                    : Query Language) database server. MySQL Server is intended
                    : for mission-critical, heavy-load production systems as
                    : well as for embedding into mass-deployed software. MySQL
                    : is a trademark of Oracle and/or its affiliates
                    : 
                    : The MySQL software has Dual Licensing, which means you can
                    : use the MySQL software free of charge under the GNU
                    : General Public License (http://www.gnu.org/licenses/). You
                    : can also purchase commercial MySQL licenses from Oracle
                    : and/or its affiliates if you do not wish to be bound by
                    : the terms of the GPL. See the chapter "Licensing and
                    : Support" in the manual for further info.
                    : 
                    : The MySQL web site (http://www.mysql.com/) provides the
                    : latest news and information about the MySQL software.
                    : Also please see the documentation and the manual for more
                    : information.
                    : 
                    : This package includes the MySQL server binary as well as
                    : related utilities to run and administer a MySQL server.

利用可能なパッケージ
名前                : mysql-community-server
アーキテクチャ      : x86_64
バージョン          : 8.0.19
リリース            : 1.el6
容量                : 520 M
リポジトリー        : mysql80-community
要約                : A very fast and reliable SQL database server
URL                 : http://www.mysql.com/
ライセンス          : Copyright (c) 2000, 2019, Oracle and/or its affiliates.
                    : All rights reserved. Under GPLv2 license as shown in the
                    : Description field.
説明                : The MySQL(TM) software delivers a very fast,
                    : multi-threaded, multi-user, and robust SQL (Structured
                    : Query Language) database server. MySQL Server is intended
                    : for mission-critical, heavy-load production systems as
                    : well as for embedding into mass-deployed software. MySQL
                    : is a trademark of Oracle and/or its affiliates
                    : 
                    : The MySQL software has Dual Licensing, which means you can
                    : use the MySQL software free of charge under the GNU
                    : General Public License (http://www.gnu.org/licenses/). You
                    : can also purchase commercial MySQL licenses from Oracle
                    : and/or its affiliates if you do not wish to be bound by
                    : the terms of the GPL. See the chapter "Licensing and
                    : Support" in the manual for further info.
                    : 
                    : The MySQL web site (http://www.mysql.com/) provides the
                    : latest news and information about the MySQL software.
                    : Also please see the documentation and the manual for more
                    : information.
                    : 
                    : This package includes the MySQL server binary as well as
                    : related utilities to run and administer a MySQL server.

リポジトリ mysql80-communityに最新のMysqlサーバがあるようですのであらかじめenableでインストール可能の設定にしておきます。
mysql-community.repoを編集します。

vi mysql-community.repo
"mysql-community.repo" 58L, 1625C[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1   <---- ここのenable=1にしてインストール可能にする
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-preview]
name=MySQL Tools Preview
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-cluster-7.5-community]
name=MySQL Cluster 7.5 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
gpgcheck=1
enabled=0
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/name=MySQL 5.7 Community Server
[mysql57-community]
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
gpgcheck=1
enabled=0
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/name=MySQL 5.6 Community Server

上記を編集すると有効化されます。

[root@tkweblife yum.repos.d]# yum repolist all | grep mysql
mysql-cluster-7.5-community        MySQL Cluster 7.5 Community    無効
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community -  無効
mysql-connectors-community         MySQL Connectors Community     無効
mysql-connectors-community-source  MySQL Connectors Community - S 無効
mysql-tools-community              MySQL Tools Community          無効
mysql-tools-community-source       MySQL Tools Community - Source 無効
mysql-tools-preview                MySQL Tools Preview            無効
mysql-tools-preview-source         MySQL Tools Preview - Source   無効
mysql55-community                  MySQL 5.5 Community Server     無効
mysql55-community-source           MySQL 5.5 Community Server - S 無効
mysql56-community                  MySQL 5.6 Community Server     無効
mysql56-community-source           MySQL 5.6 Community Server - S 無効
mysql57-community                  MySQL 5.7 Community Server     無効
mysql57-community-source           MySQL 5.7 Community Server - S 無効
mysql80-community                  MySQL 8.0 Community Server     有効:      141
mysql80-community-source           MySQL 8.0 Community Server - S 無効

これでmysql80-community 有効化されているのでバージョンを8にします。

[root@tkweblife yum.repos.d]# yum -disable mysql56-community install mysql-communnity-server
・
省略
・
================================================================================
 パッケージ                アーキテクチャ
                                     バージョン      リポジトリー          容量
================================================================================
更新:
 mysql-community-server    x86_64    8.0.19-1.el6    mysql80-community    520 M
依存性関連での更新をします。:
 mysql-community-client    x86_64    8.0.19-1.el6    mysql80-community     47 M
 mysql-community-common    x86_64    8.0.19-1.el6    mysql80-community    727 k
 mysql-community-devel     x86_64    8.0.19-1.el6    mysql80-community    7.8 M
 mysql-community-libs      x86_64    8.0.19-1.el6    mysql80-community    4.6 M

トランザクションの要約
================================================================================
アップグレード       5 パッケージ

総ダウンロード容量: 580 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
・
省略
・
  整理中                  : mysql-community-devel-5.7.18-1.el6.x86_64      6/10 
  整理中                  : mysql-community-server-5.7.18-1.el6.x86_64     7/10 
  整理中                  : mysql-community-client-5.7.18-1.el6.x86_64     8/10 
  整理中                  : mysql-community-libs-5.7.18-1.el6.x86_64       9/10 
  整理中                  : mysql-community-common-5.7.18-1.el6.x86_64    10/10 
  Verifying               : mysql-community-client-8.0.19-1.el6.x86_64     1/10 
  Verifying               : mysql-community-devel-8.0.19-1.el6.x86_64      2/10 
  Verifying               : mysql-community-common-8.0.19-1.el6.x86_64     3/10 
  Verifying               : mysql-community-libs-8.0.19-1.el6.x86_64       4/10 
  Verifying               : mysql-community-server-8.0.19-1.el6.x86_64     5/10 
  Verifying               : mysql-community-server-5.7.18-1.el6.x86_64     6/10 
  Verifying               : mysql-community-libs-5.7.18-1.el6.x86_64       7/10 
  Verifying               : mysql-community-common-5.7.18-1.el6.x86_64     8/10 
  Verifying               : mysql-community-devel-5.7.18-1.el6.x86_64      9/10 
  Verifying               : mysql-community-client-5.7.18-1.el6.x86_64    10/10 

更新:
  mysql-community-server.x86_64 0:8.0.19-1.el6                                  

依存性を更新しました:
  mysql-community-client.x86_64 0:8.0.19-1.el6                                  
  mysql-community-common.x86_64 0:8.0.19-1.el6                                  
  mysql-community-devel.x86_64 0:8.0.19-1.el6                                   
  mysql-community-libs.x86_64 0:8.0.19-1.el6                                    

完了しました!

これでmysqlのバージョンが8.0になりました。-disable mysql56-communityは、なぜか5.6のバージョンもインストールしようとするので明示的に5.6のリポジトリは、インストールしないようにしてます。
このあとは、サーバを再起動します。

[root@tkweblife yum.repos.d]# /etc/init.d/mysqld stop
mysqld を停止中:  [  OK  ]
[root@tkweblife yum.repos.d]# /etc/init.d/mysqld start
MySQL Daemon failed to start.
mysqld を起動中:  [失敗]

失敗です。
mysqlの設定ファイルもバージョンアップにより変更しないといけないところがあるようです。
query_cache_で始まる項目は、コメントアウト
また、認証方式もバージョンアップで変更されてしまうので以前使用している方法で実施するため
追記します。

[root@tkweblife etc]# vi my.cnf
・・・
省略
default_authentication_plugin= mysql_native_password
#query_cache_size=8M
#query_cache_limit=1M
#query_cache_min_res_unit=4k
#テーブル定義のみキャッシュする 1400--->400 20170627
#table_definition_cache=400

上記query_cacheで始まる項目は、コメントアウトする
[mysqld]の行に
default_authentication_plugin= mysql_native_passwordを追記する。

以上を書き込んで起動すると異状なく起動しました。
これでバージョンアップ完了です。

[root@tkweblife ~]# mysql --version
mysql  Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL)

応援をお願いします(^^;

*****************************************************************************

ブログランキング・にほんブログ村へ
にほんブログ村

PVアクセスランキング にほんブログ村

カテゴリー: Linux, mysql タグ: , ,