HUAWEI CLOUD クラウドサーバー評価|Docker環境にMysqlデータベースを導入
I.はじめに
1.1 Yunyao Cloud Server L インスタンスの概要
Yunyao クラウド サーバー L インスタンスは、中小企業や開発者向けに特別に設計された新世代の軽量アプリケーション クラウド サーバーで、すぐに使える利便性を提供します。Yunyao クラウド サーバー L インスタンスは、ワンクリックでアプリケーションをデプロイできる、厳選された豊富なアプリケーション イメージを提供します。これにより、顧客が電子商取引 Web サイト、Web アプリケーション、小規模プログラム、学習環境、およびさまざまな開発およびテスト タスクを構築するプロセスが大幅に簡素化されます。クラウドのプロセスで。
1.2 MySQL データベースの概要
MySQL は、言語として SQL (構造化照会言語) を使用するオープンソースのリレーショナル データベース管理システム (RDBMS) であり、ユーザーは SQL ステートメントを通じてデータを操作および管理できます。MySQL はスウェーデンの MySQL AB によって開発され、現在は Oracle Corporation の製品です。MySQL は、最も人気のあるオープンソースのリレーショナル データベース管理システムの 1 つであり、Web アプリケーションの開発で広く使用されています。MySQL は、高速、高セキュリティ、簡単な使用と管理、および優れたスケーラビリティを特徴としています。MySQL は、Linux、Windows、Mac OS など、さまざまなオペレーティング システムをサポートしています。現在の最新の安定バージョンは MySQL 8.0 です。
2. この実践の概要
2.1 この実践の概要
1. この演習は個人的なテストおよび学習環境であり、アプリケーションを迅速にデプロイすることを目的としています。本番環境では注意してください; 2.
この演習環境は Yunyao Cloud Server L インスタンスであり、使用されるアプリケーション イメージは Porttainer 2.18.4 です。
3. Porttainer で MySQL データベースをプラットフォームにデプロイします。
2.2 この環境計画について
サーバークラス | アプリケーションイメージ | イントラネットIPアドレス | Docker のバージョン | ポーターバージョン | MySQLのバージョン |
---|---|---|---|---|---|
Yunyao クラウド サーバー L インスタンス | Docker ビジュアルポーター | 192.168.0.168 | 24.0.4 | 2.18.4 | 8.0 |
3. Yunyao Cloud Server L インスタンスを購入する
3.1 HUAWEI CLOUDにログインする
個人の HUAWEI CLOUD アカウントにログインし、検索バーに Yunyao Cloud Server L インスタンスと入力し、Enter キーを押して確認し、Yunyao Cloud Server L インスタンスの詳細ページに入ります。
3.2 Yunyao Cloud Server L インスタンスを購入する
Yunyao Cloud Server L インスタンスの詳細ページで、「購入」をクリックします。
地域: 中国北部—北京 4;
アプリケーション イメージ: Docker Visualization-Porttainer;
インスタンスの仕様: 2 コア 2G/システム ディスク 40G/ピーク帯域幅 3Mbps/トラフィック パッケージ 400G;
インスタンス名: カスタマイズ可能で、ここで HECS-L として編集できます-ポーター ;
購入期間: 1 か月;
- 構成を確認し、購入を確認します。
3.3 Yunyao Cloud Server L インスタンスのステータスの表示
購入した Yunyao Cloud Server L インスタンスのステータスが正常に動作していることを確認します。
3.4 サーバーパスワードのリセット
クリックして Yunyao Cloud Server L インスタンスにリモートでログインします
パスワードをリセットするには、右側のパスワードをリセットするオプションをクリックすると、本人確認が必要になります。携帯電話認証を選択すると、パスワードが正常にリセットされます。
4. Docker環境を確認する
4.1 Elastic パブリック IP アドレスを確認する
- Elastic パブリック IP アドレスをコピーし、サーバーにリモート接続するときに使用します。
4.2 Xshell がサーバーに接続する
Xshell ツールで、サーバーの Elastic Public Network IP アドレス、アカウント、パスワード情報を入力し、ssh を使用してリモート サーバーに接続します。
4.3 Dockerサービスのステータスを確認する
Yunyao Cloud Server L インスタンスが使用するアプリケーションイメージは Porttainer であるため、Docker 環境は自動的にデプロイされており、Docker 環境を再構築する必要はありません。
- Dockerのバージョンを確認する
root@hcss-ecs-f91c:~# docker -v
Docker version 24.0.4, build 3713ee1
- Dockerサービスのステータスを確認する
root@hcss-ecs-f91c:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-09-05 21:51:04 CST; 16h ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 1061 (dockerd)
Tasks: 88
Memory: 519.8M
CPU: 1min 956ms
CGroup: /system.slice/docker.service
4.mysql:8.0イメージをダウンロードします。
docker Hub から mysql:8.0 イメージをプルします。
root@hcss-ecs-f91c:~# docker pull mysql:8.0
8.0: Pulling from library/mysql
b193354265ba: Pull complete
14a15c0bb358: Pull complete
02da291ad1e4: Pull complete
9a89a1d664ee: Pull complete
a24ae6513051: Pull complete
5110d0b8df84: Pull complete
71def905d921: Pull complete
c29c4f8eb3c1: Pull complete
769af171cdaa: Pull complete
c1a0ba6abbff: Pull complete
5e7e1ae11403: Pull complete
Digest: sha256:f0e71f077bb27fe17b1b9551f75d1b35ad4dfe3a33c82412acf19684790f3a30
Status: Downloaded newer image for mysql:8.0
docker.io/library/mysql:8.0
5. MySQL アプリケーションをデプロイする
5.1 MySQLコンテナの作成
docker-cli コマンドを使用して、mysql コンテナを作成します。
docker run -d --name mysql_01 --restart always -v /data/mysql/:/var/lib/mysql -p 3641:3306 -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=data mysql:8.0
5.2 Mysqlコンテナのステータスを確認する
mysql コンテナのステータスをチェックして、コンテナが正常に起動していることを確認します。
root@hcss-ecs-f91c:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c5962b2ee9f3 mysql:8.0 "docker-entrypoint.s…" 12 minutes ago Up 12 minutes 33060/tcp, 0.0.0.0:3641->3306/tcp, :::3641->3306/tcp mysql_01
5.3 コンテナの動作ログを確認する
mysqlコンテナの実行ログを確認してください。
6. Mysql データベースにローカルでログインします。
6.1 mysqlコンテナに入る
mysqlコンテナに入ります
docker exec -it mysql_01 /bin/bash
6.2 ローカルにログインして mysql に接続する
ローカルにログインして mysql データベースに接続します
bash-4.4# mysql -uroot -padmin
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.34 MySQL Community Server - GPL
Copyright (c) 2000, 2023, 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.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
6.3 ユーザー名とパスワードを設定する
- 新しい利用者
create user 'admin'@'%' identified WITH mysql_native_password BY 'admin';
- ユーザー権限を設定する
grant all on *.* to 'admin'@'%' with GRANT OPTION;
flush privileges;
7、リモートログインMysqlデータベース
7.1 セキュリティグループポートを許可する
Yunyao Cloud Server L インスタンスのセキュリティ グループ構成管理で、受信方向のポート 3641 を許可します。
7.2 mysql データベースへのリモート接続
他の Linux サーバーの mysql クライアント上の mysql データベースにリモート接続します。ここで、-h の後に Yunyaoyun サーバー L インスタンスのエラスティック パブリック ネットワーク IP アドレスが続きます。
[root@server ~]# mysql -hxxxx -P 3641 -uadmin -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.34 MySQL Community Server - GPL
Copyright (c) 2000, 2018, 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>
7.3 データの書き込み
- データベースを作成する
create database school;
- 新しいデータベースを表示する
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| data |
| information_schema |
| mysql |
| performance_schema |
| school |
| sys |
+--------------------+
6 rows in set (0.00 sec)
- 学校データベースに入る
mysql> use school;
Database changed
- 新しいデータ テーブルを作成し、空のデータ テーブルを作成します。
CREATE TABLE IF NOT EXISTS `student`(
`id` INT UNSIGNED AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`gender` TINYINT NOT NULL,
`age` INT UNSIGNED,
`class` INT UNSIGNED,
`score` INT UNSIGNED,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
- データをデータテーブルに書き込みます。
insert into student ( name, gender, age, class, score ) values ( "李一成", "1", "16", "1", "78" );
insert into student ( name, gender, age, class, score ) values ( "王萌", "0", "15", "2", "88" );
insert into student ( name, gender, age, class, score ) values ( "张磊", "1", "16", "4", "98" );
- クエリデータテーブルの内容
mysql> select * from student;
+----+-----------+--------+------+-------+-------+
| id | name | gender | age | class | score |
+----+-----------+--------+------+-------+-------+
| 1 | 李一成 | 1 | 16 | 1 | 78 |
| 2 | 王萌 | 0 | 15 | 2 | 88 |
| 3 | 张磊 | 1 | 16 | 4 | 98 |
+----+-----------+--------+------+-------+-------+
3 rows in set (0.03 sec)
7.4 phpMyAdminツールのリモート接続データベース
phpMyAdmin ツールを使用してデータベースにリモート接続すると、通常どおりデータ テーブルの内容をクエリできます。