前書き
MySQLは、一般的なhttps://www.digitalocean.com/community/tutorials/how-to-install-linuxの一部として一般にインストールされるオープンソースのデータベース管理システムです-nginx-mysql-php-lemp-stack-on-centos-7 [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、https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/ [MariaDBは一般にMySQLの代わりにシームレスに動作します]。したがって、MySQLの特定のユースケースがない限りhttps://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-centos-7[Centos 7にMariaDBをインストールする方法]ガイド。
このチュートリアルでは、CentOS 7サーバーにMySQLバージョン5.7をインストールする方法について説明します。
前提条件
このチュートリアルを実行するには、次のものが必要です。
-
`+ sudo +`特権を持つ非rootユーザーを持つCentOS 7。 CentOS 7での初期サーバーセットアップガイドで、これらの権限を持つユーザーをセットアップする方法の詳細を学ぶことができます。
ステップ1-MySQLのインストール
はじめに述べたように、実際にMySQLをインストールするYumコマンドはMariaDBをインストールします。 MySQLをインストールするには、MySQLのパッケージを提供するhttps://dev.mysql.com/downloads/repo/yum/[MySQLコミュニティYumリポジトリ]にアクセスする必要があります。
Webブラウザーで、以下にアクセスします。
https://dev.mysql.com/downloads/repo/yum/
目立つダウンロードリンクがファイルに直接つながっていないことに注意してください。 代わりに、ログインまたはアカウントのサインアップに招待される後続のページに移動します。 アカウントを作成したくない場合は、「いいえ、ダウンロードを開始してください」というテキストを見つけて、右クリックしてリンクの場所をコピーするか、以下のコマンドでバージョン番号を編集できます。
目的のバージョンを見つけ、以下のリンクで必要に応じて更新します。
image:https://assets.digitalocean.com/articles/mysql-centos7/repo-name-small.png [現在のyumレポ名を強調するスクリーンキャプチャ]
wget https://dev.mysql.com/get/.noarch.rpm
rpmファイルを保存したら、 `+ md5sum +`を実行し、サイトにリストされている対応するMD5値と比較することにより、ダウンロードの整合性を検証します。
md5sum .noarch.rpm
Output1a29601dc380ef2c7bc25e2a0e25d31e mysql57-community-release-el7-9.noarch.rpm
この出力をサイト上の適切なMD5値と比較します。
image:https://assets.digitalocean.com/articles/mysql-centos7/md5-sum-small.png [md5dsumを強調するスクリーンキャプチャー]
ファイルが破損または変更されていないことを確認したので、パッケージをインストールします。
sudo rpm -ivh .noarch.rpm
これにより、2つの新しいMySQL yumリポジトリが追加され、それらを使用してMySQLサーバーをインストールできるようになりました。
sudo yum install mysql-server
「+ y 」を押して、続行することを確認します。 パッケージを追加したばかりなので、GPGキーを受け入れるように求められます。 「 y +」を押してダウンロードし、インストールを完了します。
ステップ2-MySQLの起動
次のコマンドでデーモンを起動します。
sudo systemctl start mysqld
`+ systemctl +`はすべてのサービス管理コマンドの結果を表示するわけではないため、成功するために次のコマンドを使用します。
sudo systemctl status mysqld
MySQLが正常に起動した場合、出力には `+ Active:active(running)+`が含まれ、最終行は次のようになります。
Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.
インストールプロセス中に、MySQLルートユーザーの一時パスワードが生成されます。 次のコマンドで `+ mysqld.log +`で見つけます:
sudo grep 'temporary password' /var/log/mysqld.log
Output2016-12-01T00:22:31.416107Z 1 [Note] A temporary password is generated for root@localhost:
パスワードをメモします。これは、インストールを保護するために次のステップで必要になり、変更を強制される場所です。 デフォルトのパスワードポリシーには、少なくとも1つの大文字、1つの小文字、1つの数字、1つの特殊文字を含む12文字が必要です。
ステップ3-MySQLの構成
MySQLには、リモートルートログインやサンプルユーザーなどの安全性の低いデフォルトオプションの一部を変更するセキュリティスクリプトが含まれています。
このコマンドを使用して、セキュリティスクリプトを実行します。
sudo mysql_secure_installation
これにより、デフォルトのrootパスワードの入力が求められます。 入力するとすぐに、変更する必要があります。
OutputThe existing password for the user account root has expired. Please set a new password.
New password:
少なくとも1つの大文字、1つの小文字、1つの数字、1つの特殊文字を含む新しい12文字のパスワードを入力します。 プロンプトが表示されたら、再入力します。
新しいパスワードの強度に関するフィードバックを受け取ると、すぐに再度パスワードを変更するよう求められます。 あなたがやったばかりなので、自信を持って `+ No +`と言うことができます:
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 +`ツールに接続することで、インストールを確認し、インストールに関する情報を取得できます。 次のコマンドを使用して、* root *( `+ -u root +
)としてMySQLに接続し、パスワードの入力を求め( + -p +
)、バージョンを返します。
mysqladmin -u root -p version
次のような出力が表示されます。
出力
mysqladmin Ver 8.42 Distrib 5.7.16, for Linux on x86_64
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.7.16
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 min 17 sec
Threads: 1 Questions: 6 Slow queries: 0 Opens: 107 Flush tables: 1 Open tables: 100 Queries per second avg: 0.043
これは、インストールが成功したことを示します。
結論
このチュートリアルでは、CentOS 7サーバーにMySQLをインストールして保護しました。 MySQLの使用の詳細については、https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial [MySQLコマンドの詳細]のこのガイドが役立ちます。 また、https://www.digitalocean.com/community/tutorials/how-to-secure-mysql-and-mariadb-databases-in-a-linux-vps [追加のセキュリティ対策を実装する]を検討することもできます。