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

推薦する

Vue でクラスとスタイルを使用して v-bind バインディングを使用するいくつかの方法

要素にクラスを追加/削除することは、プロジェクト開発では非常に一般的な動作です。たとえば、Web サ...

Web 開発の面接と筆記試験に必須の知識(必読)

HTML のインライン要素とブロックレベル要素の違い:標準的なドキュメント フローでは、ブロック ...

Baota LinuxパネルにFTP接続できない問題の解決方法の詳細な説明

Alibaba Cloud Server を使用している場合は、セキュリティ グループ設定でポート ...

Linuxコマンドのファイル上書きとファイル追加の詳細な説明

1. コマンド > と >> の違いコマンド>: ファイルが存在する場合は、...

SMS送信のカウントダウンを実装するJavaScript

この記事では、SMS送信のカウントダウンを実装するためのJavaScriptの具体的なコードを参考ま...

DockerはPruneコマンドを使用してnoneイメージをクリーンアップします

目次無イメージの創造と混乱Noneオブジェクトをクリーンアップする方法トリムミラーコンテナで使用され...

Reactはページング効果を実装する

この記事では、Reactでページング効果を実現するための具体的なコードを参考までに紹介します。具体的...

HTML コードの書き方に関する提案のまとめ

リソースファイルのプロトコルを省略する画像、メディアファイル、スタイル、スクリプトの URL では、...

Vueの7つの値転送メソッドの詳細な説明

1. 父から息子へ子コンポーネントにpropsフィールドを定義し、その型は配列です (フィールド値の...

vsCodeはワンクリックでvueテンプレートを生成します

1. ショートカットCtrl + Shift + Pを使用してコンソールを呼び出します 2、「スニペ...

CSS を使用して正方形の div を実装する 2 つの方法

目標: 辺の長さが等しい正方形を作成する方法 1: 単位 vw を使用する (ps これが最も簡単な...

ffmpeg コマンドラインを使用してビデオを変換するためのサンプルコード

この記事の本文を始める前に、まず ffmpeg プログラムをインストールする必要があります (Lin...

nginx 設定チュートリアルにおける add_header の落とし穴の詳細な説明

序文add_header は、headers モジュールで定義されたディレクティブです。名前が示すよ...

Dockerでコンテナを作成するときのディレクトリ権限

昨日プロジェクトを書いていた時に、MySQL の派生版である Percona を使う必要があったので...

IE6、IE7、IE8 で CSS3 の丸い角と影のスタイルをサポートする

CSS3 の角丸や影の効果を使ったページを作りたいのですが、IE ブラウザでは対応していません。こ...