MySQLリレーショナルデータベース管理システムの人気は、それをオープンソースアプリケーションとして快適に分類しています。一方、オラクルの下でのその存在と制御は、それをオープンソースソフトウェアとして完全に分類していません。無料機能の恩恵を受けたいユーザーは、MySQLコミュニティエディションを使用するオプションがあります。また、そのすべての機能に無制限にアクセスしたいユーザーは、MySQLEnterpriseEditionを購読できます。
MySQLをより簡単に学習する方法を探している場合は、LAMPスタックソフトウェアなどを使用して、安定したデータベース管理システムの基盤を構築する必要があります。 LAMPスタックは、MySQLデータベースアプリケーションをLinuxオペレーティングシステム環境、Apache Webサーバー、およびPHPプログラミング言語と1つの屋根の下に統合します。この環境は、MySQLRDBMSの柔軟性をテストできる安定したコンテナーを提供します。
CentOS 7のような安定したオペレーティングシステム環境にMySQLをインストールすると、データベース管理の見通しに完全に集中したい個人のための基盤が作成されます。標準リポジトリはMySQLよりもMariaDBのオープンソースの柔軟性を支持し始めているため、この記事では、CentOS7へのMySQLのインストールに光を当てようとしています。
前提条件
このチュートリアル記事を続行する前に、次の各チェックボックスをオンにする必要があります。
- 実行中のCentOS7Linuxオペレーティングシステム環境
- CentOS7LinuxオペレーティングシステムでSudoユーザーになる
- CentOS 7コマンドラインユーティリティへのアクセス([メニュー]>[アプリケーション]>[ユーティリティ]>[ターミナル]に移動)
- CentOSのYumパッケージマネージャーへのデフォルトアクセス
CentOS7サーバーへのMySQLのインストール
CentOS 7サーバー環境にMySQLを正常にインストールするには、3つの重要な手順に従う必要があります。それらには以下が含まれます:
- MySQLリポジトリのダウンロード
- MySQLのインストールと構成
- MySQLステータスチェック
各ステップを詳細に説明し、なぜそれらが発生する必要があるのかを理解できるようにします。
MySQLリポジトリのダウンロード
関心のあるMySQLリポジトリには、いくつかのダウンロードと準備の手順が必要です。このインストール手順を再開する前に、VPSまたは専用サーバーで作業して、このチュートリアル記事の目的を完全に達成する必要があります。その場合は、ルートアクセス権限とSSHサーバーアクセスの知識も必要になります。
この記事ではMySQLのインストールとセットアップに関するいくつかの基本的なチュートリアルについて説明しているため、CentOS7デスクトップ環境またはそのサーバー環境のいずれかを使用できます。それでも同じ学習目標を達成できます。
最初のステップは、次のコマンドを使用してCentOS7システムが最新であることを確認することです。
sudo yum update
更新されたシステムにより、必要なMySQLリポジトリを正常にダウンロードできます。そのため、CentOS7に該当するリポジトリバージョンをダウンロードしています。端末で次のコマンドを実行してください。
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
上記のダウンロードは、「。rpm」ファイルがシステムに正常に保存されたことを示す確認メッセージで終了するはずです。
このダウンロードされたリポジトリは、MySQLデータベースアプリケーションをインストールするためのベースです。次のステップはそれを準備することです。次のコマンドを使用します:
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
上記の.rpmリポジトリの継続的な更新とインストールについてシステム端末からプロンプトが表示されるのを待ちます。
MySQLのインストールと構成
次のフェーズは、MySQLのインストールに取り組むことです。システム端末からYumインストーラーを使用します。次のコマンドを実装します。
sudo yum install mysql-server
このコマンドスクリプトを実行すると、いくつかのパッケージリストが出力され、「 y」と入力してダウンロードとインストールを確認する必要があります。 」をクリックしてから、キーボードのEnterキーを押します。
「y」と入力して、MySQL関連パッケージのダウンロードとインストールを確認するいくつかのインスタンスに対処する必要があります。 」を端末に表示します。最後に、「完了!」を確認すると、すべてのパッケージのインストールが成功したかどうかがわかります。 ターミナルディスプレイインターフェイスの最後にある「」メッセージ。この最後のコマンド出力により、MySQLRDBMSがシステムに正常にインストールされます。
MySQLの起動とステータスのチェック
CentOS 7オペレーティングシステムにMySQLがインストールされたので、その存在を確信する必要があります。起動してステータスを確認する必要があります。これらの手順により、CentOS7システムに正常なデータベースアプリケーションがインストールされているかどうかがわかります。
CentOS 7 OSにMySQLが正常にインストールされても、自動的に実行が開始されるわけではありません。問題を自分の手に取り、手動で開始するのはあなた次第です。端末にアクセスして、次のコマンドを実行します:
sudo systemctl start mysqld
MySQLはオペレーティングシステムのバックグラウンドでサイレントに実行されるため、このコマンドからの応答を予期しないでください。ただし、MySQLのステータスを確認したり、すべてが正常に機能しているかどうかを確認するには、次のコマンドを実行します。
sudo systemctl status mysqld
次のような出力は、MySQL構成のステータスで何が起こっているかを示します。
お気づきのとおり、画面の緑色のフォント部分は、MySQLのインストールがアクティブで正常に実行されていることを示しています。この手順で、CentOS7デスクトップ環境またはサーバー環境のいずれかにMySQLを正常にインストールして起動できます。
CentOS7のボーナスMySQLコンテンツを見てみましょう。
CentOS7でのMySQL構成のハッキング
まだMySQLを初めて使用する場合は、簡単なデータベース設定コマンドを習得しても問題はありません。これにより、他のWebサイトのコンテンツをグーグルで検索して、MySQLの旅を始める時間を節約できます。ここで学習するデータベースコマンドと微調整は、強力なMySQLデータベース基盤を作成するのに役立ちます。
データベースのrootユーザーパスワードの変更
CentOS 7に新しくインストールしたMySQLデータベースアプリは、一時的なルートパスワードに関連付けられています。このパスワードの作成は、MySQLのインストール中に行われます。システムに関連付けられているこのデフォルトのパスワードを確認またはアクセスするには、次のコマンドを実行します。
sudo grep 'password' /var/log/mysqld.log
セキュリティ上の理由からこのパスワードを変更する必要がある場合があります。最初のステップは、次のコマンドを実行することです。
sudo mysql_secure_installation
表示されたプロンプトから、割り当てられた一時パスワードを入力すると、ポップアップが表示され、新しいパスワードの詳細を入力して再入力できるようになります。
The existing password for the user account root has expired. Please set a new password. New password: Re-enter new password:
MySQLデータベースのパスワードを設定するときは、常に8〜12文字の長さのルールに従ってください。さらに、新しいパスワードに数字、小文字、大文字、および特殊文字を含めることを検討してください。保護されたデータベースは、保存されているデータの整合性を損なうことはありません。
データベースのパスワードを変更しているときに、「 y」を押す必要がある画面上の指示がいくつか表示されます。 セットアップが完了するまで、キーボードの「」を押します。
データベースの現在のバージョンを確認する
MySQLデータベースアプリのバージョンを確認することは、インストールでエラーが発生していないことを確認するもう1つの方法です。次のコマンドはこの目的を達成します。
mysql -u root -p
以前に作成したルートパスワードを入力すると、次のような端末出力が表示されます。
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 38 Server version: 8.0.23 Copyright (c) 2000, 2020, 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. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
データベースのルートパスワードのリセット
データベースパスワードをリセットしたいというMySQLユーザーにとっては非常に簡単なプロセスがあります。ただし、このプロセスを成功させるには、いくつかの手順が必要です。
まず、MySQLサーバーが実行されていない必要があります。次のコマンドで停止できます。
sudo systemctl stop mysqld
次のコマンドを使用して、関連付けられたパスワードなしで、またはセーフモードでMySQLデータベースを再起動します。
sudo mysqld_safe --skip-grant-tables
データベースアプリが起動しないか、ハングしているように見える場合があります。この場合、 Enterを押します キーボードで。
次のコマンドは、MySQLデータベースへのルート接続を再確立するのに役立ちます。
mysql -uroot
次のコマンドシーケンスは、MySQLユーザーのrootパスワードを変更するのに効果的です。
USE MYSQL; UPDATE USER SET PASSWORD=PASSWORD(“my_new_password”) WHERE USER=’root’; FLUSH PRIVILEGES; EXIT
「my_new_password」を、前に説明したパスワード規則を順守しながら実装するパスワード更新に置き換えます。
実装された変更を有効にするには、MySQLサーバーを再起動する必要があります。次のコマンドを実行します。
sudo systemctl start mysqld
これで新しいパスワードが有効になり、次回のMySQLセッションログイン時に使用する必要があります。
新しいデータベースとそれに関連するユーザーの作成
これでrootユーザーになり、MySQLデータベースが提供するすべての機能にアクセスできるようになります。ただし、特定の状況では、チーム環境での作業を余儀なくされる場合があります。データベース管理者であるため、これらのユーザーがセットアップデータベースにアクセスして使用する方法にいくつかの制限を適用する必要がある場合があります。
ここでは、2つのオプションがあります。これらのユーザーを作成して新しく作成したデータベースに配置するか、同じデータベースを維持して、カスタマイズされた権限で新しいユーザーを作成することができます。新しいデータベースを作成するには、次のコマンドを使用します。
CREATE DATABASE new_database_name
「new_database_name」を、データベースに割り当てる名前に置き換えます。
次のコマンドは、パスワードが割り当てられたデータベースユーザーを作成します。
CREATE USER 'new_username'@'localhost' IDENTIFIED BY 'new_password'
変数「new_username」と「new_password」を好みに合わせて編集します。
作成されたデータベースユーザーを削除するには、次のコマンドを使用します。
DROP USER ‘new_username’@‘localhost’
データベースのユーザー権限の管理
これでユーザーとデータベースができたので、このユーザーが前述のデータベースにアクセスまたは対話する方法を管理できます。次のコマンドは、ユーザーにすべてのデータベース権限を付与します。
GRANT ALL PRIVILEGES ON newdb.* TO 'new_username'@'localhost'
ユーザー権限に関連するその他のコマンドには、次のものがあります。
- SELECT:-データベースユーザーに読み取り権限を付与します。
- ドロップ:-ユーザーは作成済みまたは既存のデータベーステーブルを削除できます
- 挿入:-ユーザーは既存のデータベーステーブルの行にデータを入力できます
- 作成:-ユーザーはデータベーステーブルを生成または追加できます
- 削除:-ユーザーはデータベーステーブルの既存の行を削除できます
- 更新:-ユーザーはデータベーステーブルの既存の行を編集できます
- GRANT OPTION:-rootユーザーは、他の通常のデータベースユーザーの権限を変更できます
ユーザーに新しいデータベースユーザーまたは他のデータベースユーザーを作成してもらいたい場合は、次の方法でGRANTOPTIONを使用します。
GRANT CREATE ON new_database_name.* TO 'new_username'@'localhost'
次のコマンドを使用して、上記のユーザーに付与されたアクセス権を取り消すこともできます。
REVOKE permission_type ON new_database_name.* TO 'new_username'@'localhost'
また、既存の各データベースユーザーに関連付けられている特権の種類を確認することもできます。
SHOW GRANTS new_username
データベースユーザーに付与した特権が一時的なものである場合、データベースユーザーが多すぎると、それらを1つずつ取り消すというジレンマに直面する可能性があります。この場合、すべてのユーザー特権を取り除くために必要なコマンドは1つだけです。
FLUSH PRIVILEGES
上記のコマンドは、ユーザーが割り当てたすべての特権をリセットします。
他のデータベースコマンドへのアクセス
MySQLジャーニーをより励みになり、スケーラブルにするために、より多くのデータベースコマンドが必要な場合は、MySQLシェルで次のコマンドのいずれかを入力してください。
\h
または
help
最後のメモ
いくつかの便利なMySQLコマンドをインストール、構成、チェックし、さらには正常に実行するためのエラーのないアプローチがわかったので、CentOS7オペレーティングシステム環境のデータベース管理基盤は無限の高さにあなたを連れて行きます。 MySQLデータベースアプリケーションを使用すると、データベースデータストレージやその他のデータベース管理機能を簡単に作成できます。
このデータベースサーバーアプリケーションは、データベース管理のハードルを軽減するため、ユーザーを効率的かつ熟練したものとしてタグ付けします。したがって、データベース管理の初心者でも初心者でも、MySQLは正しい軌道に乗るか、データベース管理スキルをさらに磨きます。