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
を追加します。