導入
MySQLは、オープンソースのデータベース管理システムであり、一般的には人気のあるLEMP(Linux、Nginx、MySQL/MariaDB、PHP/Python/Perl)スタックの一部としてインストールされます。関係データベースとSQL(Structured Query Language)を使用してデータを管理します。
CentOS 7では、オリジナルのMySQL開発者によって管理され、MySQLの代替として設計されたMySQLのフォークであるMariaDBが好まれます。CentOS 7でyum install mysql
を実行すると、MySQLの代わりにMariaDBがインストールされます。MySQL vs. MariaDBについて疑問がある場合は、MariaDBは一般的にMySQLの代わりにシームレスに動作しますので、MySQLの特定のユースケースがない限り、CentOS 7にMariaDBをインストールする方法ガイドを参照してください。
このチュートリアルでは、CentOS 7サーバーにMySQLバージョン8をインストールする方法について説明します。
前提条件
このチュートリアルに従うには、以下が必要です:
- A CentOS 7 with a non-root user with
sudo
privileges. You can learn more about how to set up a user with these privileges in the Initial Server Setup with CentOS 7 guide.
ステップ1 — MySQLのインストール
紹介で述べたように、MySQLをインストールするYumコマンドは実際にはMariaDBをインストールします。MySQLをインストールするには、MySQLのパッケージを提供するMySQLコミュニティYumリポジトリを訪れる必要があります。
ウェブブラウザで以下のURLにアクセスします:
https://dev.mysql.com/downloads/repo/yum/
突出したダウンロードリンクはファイルに直接リンクしていません。代わりに、後続のページに案内され、ログインまたはアカウント登録を求められます。アカウントを作成したくない場合は、”No thanks, just start my download”というテキストを見つけて、右クリックしてリンク先の場所をコピーするか、以下のコマンドでバージョン番号を編集できます。
希望するバージョンを見つけ、以下のリンクを必要に応じて更新します:
rpmファイルを保存したら、ダウンロードの整合性を確認するためにmd5sum
を実行し、サイトでリストされている対応するMD5値と比較します:
Outpute2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm
この出力をサイト上の適切なMD5値と比較します:
ファイルが破損していないこと、または変更されていないことを確認したので、パッケージをインストールします:
これにより、2つの新しいMySQL yumリポジトリが追加され、MySQLサーバーをインストールできるようになります。
y
を押して、続行することを確認します。パッケージを追加したばかりなので、そのGPGキーを受け入れるように求められます。それをダウンロードしてインストールを完了するには、y
を押してください。
ステップ2 — MySQLの起動
次のコマンドでデーモンを起動します:
systemctl
はすべてのサービス管理コマンドの結果を表示しませんので、成功したことを確認するためには、次のコマンドを使用します:
MySQLが正常に起動した場合、出力にはActive: active (running)
という文字列が含まれ、最終行は次のようになります:
注意:MySQLはインストールされると自動的にブート時に起動するようになっています。このデフォルトの動作はsudo systemctl disable mysqld
で変更できます。
インストールプロセス中に、MySQLのルートユーザー用に一時的なパスワードが生成されます。このコマンドでmysqld.log
からそれを見つけます:
Output2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r
次のステップでインストールをセキュアにするためにそのパスワードをメモしておき、変更する必要があります。デフォルトのパスワードポリシーは、少なくとも1つの大文字の文字、1つの小文字の文字、1つの数字、1つの特殊文字を含む12文字が必要です。
ステップ3 — MySQLの設定
MySQLには、リモートルートログインやサンプルユーザーなどの安全でないデフォルトオプションを変更するセキュリティスクリプトが含まれています。
このコマンドを使用してセキュリティスクリプトを実行します。
これにより、デフォルトのルートパスワードが求められます。入力するとすぐに変更する必要があります。
OutputThe existing password for the user account root has expired. Please set a new password.
New password:
少なくとも1つの大文字、1つの小文字、1つの数字、および1つの特殊文字を含む、新しい12文字のパスワードを入力します。求められたときに再入力してください。
新しいパスワードの強度についてフィードバックがあり、すぐに再度変更するよう促されます。すでに変更したので、「いいえ」と自信を持って言うことができます:
OutputEstimated strength of the password: 100
Change the password for root ? (Press y|Y for Yes, any other key for No) :
パスワードを再度変更するプロンプトを拒否した後、続くすべての質問に対して Y
を押し、その後 ENTER
を押して、匿名ユーザーを削除し、リモートルートログインを許可せず、テストデータベースとそのアクセスを削除し、権限テーブルを再読み込みします。
インストールをセキュアにしたので、テストしてみましょう。
ステップ4 — MySQLのテスト
インストールを検証し、mysqladmin
ツールを使用して情報を取得できます。これは、管理コマンドを実行できるクライアントです。次のコマンドを使用して、MySQL に root として接続し、パスワードを入力し、バージョンを返します。
次のような出力が表示されるはずです:
mysqladmin Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.28
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 3 min 2 sec
Threads: 2 Questions: 14 Slow queries: 0 Opens: 133 Flush tables: 3 Open tables: 49 Queries per second avg: 0.076
これは、インストールが成功していることを示しています。
結論
このチュートリアルでは、CentOS 7 サーバーに MySQL をインストールしてセキュリティを確保しました。MySQL の使用方法について詳しく知りたい場合は、MySQL コマンドの学習ガイドが役立ちます。また、いくつかの追加のセキュリティ対策を実装することも検討してください。
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7