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

🎯 タスク
このプロジェクトでは、以下を学びます。
- システム上の MySQL サービスを起動する方法
- パスワードレスのローカルログインで新しいユーザーを作成する方法
- データベースへの最大接続数を設定する方法
- バイナリログの自動削除を有効にし、ログ保持期間を設定する方法
🏆 成果
このプロジェクトを完了すると、以下ができるようになります。
- MySQL データベースのユーザーアカウントと権限を管理する
- パフォーマンスと保守を最適化するためにデータベース設定を構成する
- SQL スクリプトを使用して一般的なデータベース管理タスクを自動化する
MySQL サービスを起動する
この手順では、システム上の MySQL サービスを起動します。以下の手順に従ってこの手順を完了します。
- システム上のターミナルを開きます。
- MySQL サービスを起動するには、次のコマンドを実行します。
sudo service mysql start
これにより、システム上の MySQL サービスが起動します。
スクリプトを保存する
~/projectディレクトリにuserBinLog.sqlという名前の新しいファイルを作成します。次のコードを
userBinLog.sqlファイルにコピーします。パスワードなしで 'Rong' という名前の新しいユーザーを作成する
-- パスワードなしで 'Rong' という名前の新しいユーザーを作成する CREATE USER 'Rong'@'localhost' IDENTIFIED BY '';これにより、パスワードなしで "Rong" という名前の新しいユーザーが作成され、ローカルマシンからのログインが許可されます。
最大接続数を 50 に設定する
-- 最大接続数を 50 に設定する SET GLOBAL max_connections = 50;これにより、最大接続数が 50 に設定されます。
バイナリログの保持期間を 15 日に設定する
-- バイナリログの保持期間を 15 日に設定する SET GLOBAL binlog_expire_logs_seconds = 15 * 24 * 60 * 60;これにより、バイナリログの保持期間が 15 日に設定されます。
スクリプトを実行する
次のコマンドを実行して MySQL コマンドラインインターフェイスを開きます。
mysql -urootMySQL プロンプトで、次のコマンドを実行して
userBinLog.sqlスクリプトを実行します。SOURCE ~/project/userBinLog.sqlこれにより、
userBinLog.sqlスクリプト内の SQL ステートメントが実行されます。これでプロジェクトが完了しました。次の SQL ステートメントを実行して結果を確認できます。
SHOW VARIABLES LIKE "%max_connections%"; SHOW VARIABLES LIKE 'binlog_expire_logs_seconds'; use mysql; SELECT user, host FROM user WHERE user = 'Rong';これらのステートメントは、
max_connectionsとbinlog_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 でさらに多くの実験を行って練習してください。



