MySQL データベース管理の基礎

MySQLMySQLBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、MySQL データベースに新しいユーザーを作成し、最大接続数を設定し、バイナリログの保持期間を構成する方法を学びます。このプロジェクトは、基本的なデータベース管理タスクと SQL スクリプトを使用してそれらを自動化する方法を理解するのに役立つように設計されています。

👀 プレビュー

MySQL データベースセットアップのプレビュー

🎯 タスク

このプロジェクトでは、以下を学びます。

  • システム上の MySQL サービスを起動する方法
  • パスワードレスのローカルログインで新しいユーザーを作成する方法
  • データベースへの最大接続数を設定する方法
  • バイナリログの自動削除を有効にし、ログ保持期間を設定する方法

🏆 成果

このプロジェクトを完了すると、以下ができるようになります。

  • MySQL データベースのユーザーアカウントと権限を管理する
  • パフォーマンスと保守を最適化するためにデータベース設定を構成する
  • SQL スクリプトを使用して一般的なデータベース管理タスクを自動化する

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/TransactionManagementandSecurityGroup(["Transaction Management and Security"]) mysql(("MySQL")) -.-> mysql/SystemManagementToolsGroup(["System Management Tools"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/user("User Info Function") mysql/TransactionManagementandSecurityGroup -.-> mysql/grant_permission("Permission Granting") mysql/SystemManagementToolsGroup -.-> mysql/show_variables("Configuration Overview") mysql/SystemManagementToolsGroup -.-> mysql/mysqladmin("Admin Utility") subgraph Lab Skills mysql/select -.-> lab-301428{{"MySQL データベース管理の基礎"}} mysql/source -.-> lab-301428{{"MySQL データベース管理の基礎"}} mysql/user -.-> lab-301428{{"MySQL データベース管理の基礎"}} mysql/grant_permission -.-> lab-301428{{"MySQL データベース管理の基礎"}} mysql/show_variables -.-> lab-301428{{"MySQL データベース管理の基礎"}} mysql/mysqladmin -.-> lab-301428{{"MySQL データベース管理の基礎"}} end

MySQL サービスを起動する

この手順では、システム上の MySQL サービスを起動します。以下の手順に従ってこの手順を完了します。

  1. システム上のターミナルを開きます。
  2. MySQL サービスを起動するには、次のコマンドを実行します。
sudo service mysql start

これにより、システム上の MySQL サービスが起動します。

スクリプトを保存する

  1. ~/project ディレクトリに userBinLog.sql という名前の新しいファイルを作成します。

  2. 次のコードを userBinLog.sql ファイルにコピーします。

  3. パスワードなしで 'Rong' という名前の新しいユーザーを作成する

    -- パスワードなしで 'Rong' という名前の新しいユーザーを作成する
    CREATE USER 'Rong'@'localhost' IDENTIFIED BY '';

    これにより、パスワードなしで "Rong" という名前の新しいユーザーが作成され、ローカルマシンからのログインが許可されます。

  4. 最大接続数を 50 に設定する

    -- 最大接続数を 50 に設定する
    SET GLOBAL max_connections = 50;

    これにより、最大接続数が 50 に設定されます。

  5. バイナリログの保持期間を 15 日に設定する

    -- バイナリログの保持期間を 15 日に設定する
    SET GLOBAL binlog_expire_logs_seconds = 15 * 24 * 60 * 60;

    これにより、バイナリログの保持期間が 15 日に設定されます。

スクリプトを実行する

  1. 次のコマンドを実行して MySQL コマンドラインインターフェイスを開きます。

    mysql -uroot
  2. MySQL プロンプトで、次のコマンドを実行して userBinLog.sql スクリプトを実行します。

    SOURCE ~/project/userBinLog.sql

    これにより、userBinLog.sql スクリプト内の SQL ステートメントが実行されます。

  3. これでプロジェクトが完了しました。次の SQL ステートメントを実行して結果を確認できます。

    SHOW VARIABLES LIKE "%max_connections%";
    SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
    use mysql;
    SELECT user, host FROM user WHERE user = 'Rong';

    これらのステートメントは、max_connectionsbinlog_expire_logs_seconds 変数の現在の値と、作成したユーザーを表示します。

次の結果を確認できます。

MariaDB [(none)]> SHOW VARIABLES LIKE "%max_connections%";
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| extra_max_connections | 1     |
| max_connections       | 50    |
+-----------------------+-------+
2 rows in set (0.001 sec)

MariaDB [(none)]> SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
+----------------------------+---------+
| Variable_name              | Value   |
+----------------------------+---------+
| binlog_expire_logs_seconds | 1296000 |
+----------------------------+---------+
1 row in set (0.000 sec)

MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> SELECT user, host FROM user WHERE user = 'Rong';
+------+-----------+
| User | Host      |
+------+-----------+
| Rong | localhost |
+------+-----------+
1 row in set (0.001 sec)
✨ 解答を確認して練習

まとめ

おめでとうございます!このプロジェクトを完了しました。技術力を向上させるために、LabEx でさらに多くの実験を行って練習してください。