Docker-compose インストール db2 データベース操作

Docker-compose インストール db2 データベース操作

db2 データベースをホストマシンに直接インストールするのは面倒で、ユーザーや権限を巻き込むのも不便なので、docker を使用して db2 データベースをインストールします。これの利点は、データベース管理とネットワーク分離が容易になることです。Docker は通常、インターネット上で直接実行されるため、後で変更するのは不便です。db2 データベースをインストールするには、引き続き docker-compose ファイルを使用します。

1. データベースイメージを自動的にダウンロードするためのdocker-composeファイルを作成する

このファイル用のフォルダを作成するだけです。

バージョン: "2.2"
サービス:
 db2:
 画像: ibmcom/db2
 コンテナ名: db211.5
 特権: true
 環境:
 ライセンス: 同意する
 DB2INST1_PASSWORD: パスワード DBNAME: TESTDB
 ボリューム:
 - ./db2data:/データベース
 ポート:
 - 50000:50000

2. インストールログを確認し、DB2の初期化が完了するまで待ちます。これには数分かかる場合があります。

#docker-composeを実行してインストールを開始します。docker-compose up -d
#インストールログを表示する docker-compose ログ
#TESTDBが作成されるとほぼインストールされます

3. db2データベースコンテナに入り、独自のデータベースを作成します。

#コンテナに入る docker exec -it db211.5 bash
#db2inst1 ユーザーに切り替える su db2inst1
#TESTDBデータベースがあるかどうかを確認します db2 list dbディレクトリ

4. ユーザーを作成し、権限を付与する

その他の権限はオンラインで見つかります。ここでは、簡単な接続と、権限の追加、削除、変更、確認について説明します。

#ユーザーグループを作成 groupadd db2group
#ユーザーをグループに追加 useradd -m -g db2group -d /home/test test
#テストパスワードをpasswd testに変更します
# パスワードを 2 回続けて入力します # db2inst1 ユーザーに切り替えて、テストへの接続権限を付与します su db2inst1
#データベース db2 に接続して testdb に接続
#接続権限を付与する db2 grant connect on database to user test
#追加、削除、変更、およびチェックの権限を付与します。db2 grant DATAACCESS on database to user test
#接続を閉じる db2 connect reset
#その他の一般的なコマンド#データベースを作成する db2 create db TEST using codeset utf-8 territory CN
#現在のデータベースをすべて表示 db2 list db directory
#ライブラリ内のテーブル名を表示する db2 list tables
#その他のコマンドは省略

5. DB2エクスポートおよびインポート操作コマンド

#db2 エクスポート コマンド (多くのファイルが表示されるので、すべてをパッケージ化します)
db2move <データベース> エクスポート
#db2 インポートコマンド (パッケージ化されたファイルをインポートするサーバーにコピーし、フォルダーディレクトリで次のコマンドを実行します)
db2move <データベース> インポート
#権限の問題がある場合は、インポートコマンドによってimport.outファイルが作成されるため、ルートユーザーを使用してフォルダーへの書き込み権限を付与します。

この時点で、db2 用の docker のインストールは完了です。docker コンテナを使用する利点は、サーバー間でシームレスに移行できることです。そのため、将来的にデータベースを他のサーバーに移行する場合に非常に便利です。

追加知識: docker に db2 をインストールし、ローカルにマウントする

1. すべてのdb2イメージを見つける

docker pull ibmcom/db2

2. イメージをプルする

ここでは最新バージョンのイメージを使用しています。最新バージョンが必要ない場合は、ご自身の状況に応じてバージョンを指定してください。方法: docker pull db2:11.5.4.0

docker pull ibmcom/db2

3. コンテナを起動してマウントする

docker run -d -p 50001:50000 --name db2_50001 --privileged=true -e DB2INST1_PASSWORD=123456 -e DBNAME=testdb -e LICENSE=accept -v /data/tadopDataProject/db2/50001:/database ibmcom/db2

パラメータの説明:

-d: コンテナをバックグラウンドで起動することを意味します。

-p 50001:50000: コンテナ内の 50000 ポートはホスト上の 50000 ポートにマップされます。

--name db2_50001: コンテナの名前を db2_50001 にします

--privileged=true: コンテナ内のルートに実際のルート権限を持たせることができます。

-e DB2INST1_PASSWORD=123456: 組み込みインスタンスユーザー db2inst1 のパスワードを 123456 に設定します。

-e DBNAME=testdb: コンテナの起動時に、testdb という名前のデータベースが自動的に作成されます。このパラメータを指定しないと、データベースは作成されません。

-e LICENSE=accept: 契約に同意する

-v /data/tadopDataProject/db2/50001:/database: マウントディレクトリ。/data/tadopDataProject/db2/50001 はホストマシンのディレクトリです。

4. 起動が成功したか確認する

ドッカーps

netstat -anp |grep 50001

5. コンテナに入り、db2コマンドを実行する

docker exec -it db2_50001 bash

インスタンス ユーザー db2inst1 に切り替えるには、次のコマンドを実行します。

注意:中央の横棒(-)を必ず記入してください。

su -db2inst1

実行ステータスを確認します。

db2pd -

データベースとパッチのバージョンを表示します。

db2レベル

作成されたデータベースを表示します。

db2 dbディレクトリをリストする

次のコマンドを実行して、testdb データベースに接続します。

db2 を testdb に接続します

TEST というテーブルを作成します。

注意: db2 コマンドに続く SQL ステートメントは引用符で囲む必要があります。そうしないと、エラー -bash: syntax error near expected token `(' が報告されます。

db2 "テーブル TEST を作成します (ID BIGINT NOT NULL、デフォルトで IDENTITY として生成 (1 から開始、1 ずつ増加)、USER_NAME VARCHAR(20)、USER_AGES INT)"

すべてのユーザー テーブルを表示:

db2 テーブルのリスト

次のコマンドを実行して、SAMPLE データベース (サンプル データベース) を作成することもできます。

db2サンプル

db2 list dbdirectory コマンドを再度実行して、作成が成功したかどうかを確認します。

最後に、exit を実行してコンテナを終了し、ホスト マシンに戻ります。

testdbデータベースに接続する

上記のdocker-composeインストールdb2データベース操作は、エディターがあなたと共有するすべての内容です。これが参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker compose を使用してハーバープライベートウェアハウスをインストールする詳細なチュートリアル
  • Docker-compose チュートリアルのインストールとクイックスタート
  • docker-composeの詳細なインストールと使用方法
  • docker-composeをインストールする最も簡単な方法2つ
  • Docker-composeのインストールと設定の詳細な手順
  • Docker Composeを使用してDOCleverをインストールする詳細なプロセスを説明します

<<:  Windows に Docker と docker-compose スイートをインストールするための詳細なチュートリアル

>>:  カルーセル効果を作成するためのjs

推薦する

CSSカスケーディングメカニズムについての簡単な説明

CSS にカスケード メカニズムがあるのはなぜですか? CSS では、同じ要素の特定のプロパティに同...

Webデザインチュートリアル(7):Webデザインの効率化

<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...

Linux でファイアウォールがオフになっているかどうかを確認する方法

1. サービス方法ファイアウォールのステータスを確認します。 [root@centos6 ~]# サ...

CentOS7環境でDockerを使ってPHP動作環境を構築する手順を詳しく解説

関連記事: CentOS7でyumを使用してDockerをインストールするDockerを使ってWin...

Linux での MySQL 5.7 の導入とリモート アクセス構成

前書き: 最近、私はパートナーとチームを組んで .NET Core プロジェクトに取り組む予定です。...

Vueモバイル端末の適応化問題の詳細説明

1. vue uiでプロジェクトを作成する 2. 基本設定項目を選択する 3. プロジェクトを実行す...

Linux サーバーが処理できる接続数をご存知ですか?

序文まず、TCP 接続を識別する方法を見てみましょう。システムは、(src_ip、src_port、...

Ubuntu 18.04 に vsftpd をインストールするための実装コード

vsftpdをインストールする $ sudo apt-get install vsftpd -y v...

mysql 5.7.11 winx64.zip インストールと設定方法のグラフィックチュートリアル

MySql データベース システムをインストールして構成します。 1. ダウンロード http://...

CentOS7 デプロイメント Flask (Apache、mod_wsgi、Python36、venv)

1. Apacheをインストールする # yum インストール -y httpd httpd-de...

MySQL のテーブルリターンとインデックスカバレッジの例の詳細な説明

目次インデックスタイプインデックス構造非クラスター化インデックスクエリインデックスカバー要約するイン...

jsドラッグ効果の原理と実装

ドラッグ機能は主に、ドラッグによる並べ替え、ポップアップ ボックスのドラッグと移動など、ユーザーがカ...

Pagoda Panel のインストール時にサーバーがデータベースにリモート接続できない問題の解決策

自分のウェブサイトを構築する予定なので、618 プロモーションを利用して Tencent Cloud...

Vueでシングルサインオンを実装する方法のまとめ

最近プロジェクトが中断され、RageFrame の研究は一時的に終了しました。この記事では、シングル...

Element UI で自動サイズ調整テキストエリアの高さを設定する方法

Element UIのtextarea input自動サイズに設定すると、テキストボックスのデフォル...