[CentOS 7x] MySQLをCentOS7にインストールする方法

CentOS7からはデータベースがMySQLからMariaDBに変更となりました。
今回はMariaDBを削除してからMySQLをインストールする方法になります。

MariaDBの削除

# yum remove mariadb-libs
# rm -rf /var/lib/mysql

remove mariadb-libsでパッケージを消去し、さらに rm でデータフォルダも消去しています。
これを行っておかないと競合が起こりうまく動かなかったりすることがあるので重要です。

yum リポジトリを追加

MySQL Community Downloads から最新のリポジトリ情報を入手します。
今回は「mysql80-community-release-el7-3.noarch.rpm」が最新版でした。

リポジトリをインストールします。

 rpm -ivh http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
ファイルが開けません:  http://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm を飛ばします。
何もしません

エラーが出ました。ホームページを見に行ったら見ることができないという症状です。
curlに問題があるようなので、curlのupdateを行います。

# yum update curl

再度、下記コマンドを実行

# rpm -ivh http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
〜省略〜
  検証中                  : nss-util-3.16.2-1.el7_0.x86_64                                   17/21 
  検証中                  : nspr-4.10.6-1.el7_0.x86_64                                       18/21 
  検証中                  : nss-3.16.2-2.el7_0.x86_64                                        19/21 
  検証中                  : libcurl-7.29.0-19.el7.x86_64                                     20/21 
  検証中                  : nss-softokn-3.16.2-1.el7_0.x86_64                                21/21 

依存性関連をインストールしました:
  nss-pem.x86_64 0:1.0.3-7.el7                                                                     

更新:
  curl.x86_64 0:7.29.0-54.el7_7.2                                                                  

依存性を更新しました:
  libcurl.x86_64 0:7.29.0-54.el7_7.2           libssh2.x86_64 0:1.8.0-3.el7                       
  nspr.x86_64 0:4.21.0-1.el7                   nss.x86_64 0:3.44.0-7.el7_7                        
  nss-softokn.x86_64 0:3.44.0-8.el7_7          nss-softokn-freebl.x86_64 0:3.44.0-8.el7_7         
  nss-sysinit.x86_64 0:3.44.0-7.el7_7          nss-tools.x86_64 0:3.44.0-7.el7_7                  
  nss-util.x86_64 0:3.44.0-4.el7_7            

完了しました!
# cd /etc/yum.repos.d/
# ls

CentOS-Base.repo       CentOS-Sources.repo  CentOS-fasttrack.repo        mysql-community.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo    mysql-community-source.repo  vz.repo

上記に「mysql-community-source.repo mysql-community.repo」の2つが入っていたので無事リポジトリをインストールできました。
yumに入っているリポジトリは「/etc/yum.repos.d/」で確認できるので覚えておくと便利ですね。

MySQLサーバーのインストール

yum install mysql-community-server
# mysqld --version
/usr/sbin/mysqld  Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL)

MySQLの起動

起動と自動起動を行います。

# systemctl start mysqld.service
# systemctl enable mysqld.service

MySQLの初期パスワード

MySQLの初期のパスワードは「/var/log/mysqld.log 」の中に記載されていますので、それを表示します。

# cat /var/log/mysqld.log | grep password
2020-02-17T06:05:35.218075Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: J6QwoGl-H+Ml

この「J6QwoGl-H+Ml」が初期のパスワードです。

MySQLにログイン

# mysql -u root -p

上記の初期パスワードを入力すると、ログインが完了します。

MySQL8からはユーザーの認証形式が変わっています。新しいものだとエラーになる場合が多いので、以前のものを使いたい場合はユーザーを作成する前に、下記の変更を行っておきます。

# vi /etc/my.cnf

ファイルを開いたら
[mysqld]
default-authentication-plugin=mysql_native_password
を追加します。



Author: webmaster