CentOS7にMySQLをインストールした話。
お仕事のスキルアップを目的としてSQLの学習を行うために、前回はAWS(Amazon Linux2)へMySQLをインストールしましたが、前回の環境が利用できなくなったため、今回はCentOSへMySQLをインストールしました。
今回実施した作業に関して、下記のとおり記載していきたいと思います。
1.実施内容
CentOSにおけるデータベースソフトの標準がMariaDBであったため、それをアンインストールしてMySQLをインストールして使用可能にする。
2.使用環境等
(1)環境
CentOS7.9
(2)インストール対象のソフトウェア
MySQL version8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)
3.主な手順
手順はrootによる実行を前提とした記載となっている。
(1)yumコマンドのアップデート確認
yumコマンドが最新のものであるか、アップデートコマンドを実行して確認する。
更新対象があれば下記のコマンドにより更新される。
# yum update
(2)MariaDBのアンインストール
存在確認のためにnpmの確認コマンドを実行する。
# rpm -qa | grep mariadb
MariaDBのパッケージが存在する場合には下記のとおり表示される。
OSのバージョンにより表記が変わる可能性があります。
mariadb-libs-5.5.68-1.el7.x86_64
下記のコマンドでMariaDBのパッケージをアンインストールする。
# yum remove mariadb*
(3)MySQLのリポジトリをインストール
CentOSのデータベースの標準ソフトウェアがMariaDBであったため、MySQL関連のソースを下記のコマンドでインストールする。
# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
(4)リポジトリの確認
mysql8.0のリポジトリが有効な状態でインストールされているか以下のコマンドで確認する。
# yum repolist all | grep mysql
表示内容に次のものが存在する場合には、正しくインストールされた状態。
mysql80-community/x86_64 MySQL 8.0 Community Server 有効:
(5)インストール
①下記のコマンドでmysql-community-serverのパッケージをインストールする。
# yum -y install --enablerepo=mysql80-community mysql-community-server
②下記のコマンドで関連のパッケージをインストールする。
# yum install --enablerepo=mysql80-community mysql-community-devel
(6)バージョンの確認
下記のコマンドによりMySQLのバージョンを確認する。
2行目のとおりインストール時のおける最新版が表示されれば問題なし。
(本作業日は2021/10/04)
# mysqld --version
/usr/sbin/mysqld Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)
(8)MySQLの起動及び自動起動の有効化
①下記のコマンドによりMySQLのサービスを起動させる。
# systemctl start mysqld.service
②下記のコマンドによりインスタンスが再起動(または起動)した際にMySQLのサービスを自動で起動するように設定変更を実施する。
# systemctl enable mysqld.service
(9)MySQLのステータス確認
下記のコマンドによりMySQLのステータスを確認する。
実行すると2行目以降に現在のステータスが表示される。
# systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 月 2021-10-04 11:11:35 JST; 1min 18s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 7375 (mysqld)
Status: "Server is operational"
CGroup: /system.slice/mysqld.service
└─7375 /usr/sbin/mysqld
ここまでの手順でMySQLのインストールは完了になります。
ここから継続してrootユーザによるログインをする手順になります。
(10)rootユーザのパスワード調査
MySQLバージョン5.7以降はインストール完了時にパスワードが自動生成されるとのことなのでログインパスワードを調査する必要がある。
生成されたパスワードはMySQLのログに出力されるため下記のコマンドによりログの内容を確認してみる。
# cat /var/log/mysqld.log
コマンド実行するとログの中に下記のようなパスワードを示唆するような一文を発見できる。
rootユーザの後続「:」以降に記載された内容がrootユーザのパスワードなるため現時点で控える。
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost:
(11)rootユーザによるログイン
MySQLへの初回ログインは下記のコマンドにより実行する。
その際にパスワードを求められるので(10)で調べたパスワードを入力し、ログインする。
# mysql -u root -p;
(12)rootユーザのパスワードを変更
rootユーザのパスワードを任意のパスワードへと変更する。
変更に当たっては下記のクエリを実行することで行う。
> ALTER USER 'root'@'localhost' identified BY '任意のパスワード';
この手順をもってrootユーザによるログインを実行しやすい状態にして、MySQLによるデータベースを使用可能な状態にすることが出来ました。
4.さいごに
前回の環境が利用できなくなったことから、実践した今回のCentOSへのMySQLのインストールですが、前回の経験があったからかスムーズに作業を実施することが出来ました。
作業手順は自分がやったことの備忘録的なものですが、同様のことを実施しようとしている人がいた際に参考になればよいと考えております。