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

推薦する

MySQL でデータの重複挿入を回避する 4 つの方法

最も一般的な方法は、フィールドに主キーまたは一意のインデックスを設定することです。重複データを挿入す...

Alpine Dockerイメージフォント問題解決操作

1. フォントを実行し、フォント フォルダーを開いて、使用するフォント ファイルを見つけます。 2....

border-radius 値の設定に関する質問

問題記録今日はプログレスバーに似た小さなコンポーネントを完成させるつもりでした。プロトタイプは次のよ...

HTML 言語百科事典

123WordPress.com-HTML noscriptオブジェクトolオプションPパラントプレ...

mysql の追加、削除、変更、クエリの基本ステートメント

文法以下は、MySQL テーブルにデータを挿入するための INSERT INTO コマンドの一般的な...

クラウド決済を実装するWeChatミニプログラムについて

目次1. はじめに2. 思考分析3. クラウド決済のケーススタディ1. クラウド機能1-1. 認証不...

CSS3で作られたレインボーボタンスタイル

結果: 実装コード: html <div class="buttons"&...

HTMLテーブルで、各セルに異なる色と幅を設定します

設定が有効にならない場合が多いため、幅や高さなどをテーブル内で直接設定しないことをお勧めします。スタ...

Nginx 構成 80 ポート アクセス 8080 とプロジェクト名アドレス メソッド分析

Tomcatはプロジェクトにアクセスします。通常はIP + ポート + プロジェクト名です。 Ngi...

ファイル共有サーバーを構築するための samba + OPENldap の詳細な説明

ここでは、samba (ファイル共有サービス) v4.9.1 + OPENldap (バックエンド ...

Vue.set() と this.$set() の使い方と違い

開発に Vue を使用する場合、次のような状況に遭遇することがあります。Vue インスタンスを生成し...

ウェブページを作成するために最もよく使用されるHTMLタグ

1. よく使われるHTMLタグの最適化HTML は Web 編集者にとって基本的なスキルであるべきで...

LDAP ユーザー認証を使用するように Linux を構成する方法

私は CentOS に実装された LDAP ユーザー管理を使用しています。これはインターネット上のほ...

MySQL 8.0 バージョンで getTables がすべてのデータベース テーブルを返す問題の簡単な分析

序文この記事では、主にライブラリ内のすべてのテーブルを返すMysql8.0ドライバgetTables...

Vueはグラフィック検証コードを実装する

この記事の例では、グラフィック検証コードを実装するためのVueの具体的なコードを参考までに共有してい...