佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > docker-compose安裝db2數(shù)據(jù)庫操作

docker-compose安裝db2數(shù)據(jù)庫操作

熱門標(biāo)簽:硅谷的囚徒呼叫中心 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 檢查注冊(cè)表項(xiàng) 智能手機(jī) 阿里云 網(wǎng)站建設(shè) 使用U盤裝系統(tǒng) 美圖手機(jī)

db2數(shù)據(jù)庫在宿主機(jī)直接安裝比較麻煩,而且涉及用戶和權(quán)限也不方便,所以采用docker安裝db2數(shù)據(jù)庫,這樣做的好處是便于數(shù)據(jù)庫的管理和網(wǎng)絡(luò)隔離,網(wǎng)上一般都是docker直接run的這種不便于后期修改,我們依然采用docker-compose文件來安裝db2數(shù)據(jù)庫。

1、編寫docker-compose文件,會(huì)自動(dòng)下載數(shù)據(jù)庫鏡像

此文件自己創(chuàng)建一個(gè)文件夾放就可以了

version: "2.2"
services:
 db2:
 image: ibmcom/db2
 container_name: db211.5
 privileged: true
 environment:
 LICENSE: accept
 DB2INST1_PASSWORD: 你的密碼
 DBNAME: TESTDB
 volumes:
 - ./db2data:/database
 ports:
 - 50000:50000

2、查看安裝日志等待db2初始化完成,可能需要幾分鐘

#執(zhí)行docker-compose開始安裝
docker-compose up -d
#查看安裝日志
docker-compose logs
#差不多到創(chuàng)建完TESTDB的時(shí)候就安裝好了

3、進(jìn)入db2數(shù)據(jù)庫容器創(chuàng)建自己的數(shù)據(jù)庫

#進(jìn)入容器
docker exec -it db211.5 bash
#切換到db2inst1用戶
su db2inst1
#查看有沒有我們的TESTDB數(shù)據(jù)庫
db2 list db directory

4、創(chuàng)建一個(gè)用戶并賦予權(quán)限

其他的權(quán)限可網(wǎng)上看看,這里簡單弄一個(gè)連接和增刪改查權(quán)限

#創(chuàng)建用戶組
groupadd db2group
#添加用戶到該組
useradd -m -g db2group -d /home/test test
#修改test密碼
passwd test
#連續(xù)輸入兩次密碼
#切換到db2inst1用戶下給test賦予連接權(quán)限
su db2inst1
#連接數(shù)據(jù)庫
db2 connect to testdb
#賦予連接權(quán)限
db2 grant connect on database to user test
#賦予增刪改查權(quán)限
db2 grant DATAACCESS on database to user test
#關(guān)閉連接
db2 connect reset
#其他常用命令
#創(chuàng)建數(shù)據(jù)庫
db2 create db TEST using codeset utf-8 territory CN
#查看當(dāng)前所有數(shù)據(jù)庫
db2 list db direcotry
#查看庫中的表名
db2 list tables
#更多命令省略

5、db2導(dǎo)出導(dǎo)入操作命令

#db2導(dǎo)出命令(會(huì)出現(xiàn)很多文件,將這些文件都打包)
db2move <your databases> export
#db2導(dǎo)入命令 (將打包后的文件復(fù)制到你要導(dǎo)入的服務(wù)器上面,然后在該文件夾目錄執(zhí)行以下命令)
db2move <your databases> import
#如果出現(xiàn)權(quán)限問題,用root用戶賦予文件夾的可寫權(quán)限,因?yàn)閷?dǎo)入命令會(huì)創(chuàng)建一個(gè)import.out文件

至此,docker對(duì)于db2的安裝就完成了,用docker容器的好處就是可以服務(wù)器之間的無縫遷移,將來像往其他服務(wù)器遷移數(shù)據(jù)庫也就很方便了。

補(bǔ)充知識(shí):docker 安裝db2并掛載至本地

1.查找所有的db2鏡像

docker pull ibmcom/db2

2.拉取鏡像

我這里使用的最新版本的鏡像,如果不需要最新的,可以依據(jù)自己情況去指定版本。方式:docker pull db2:11.5.4.0

docker pull ibmcom/db2

3.啟動(dòng)容器并掛載

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

參數(shù)說明:

-d: 表示在后臺(tái)啟動(dòng)容器;

-p 50001:50000: 容器內(nèi)部的 50000 端口映射主機(jī)的 50000 端口;

--name db2_50001:將容器命名為 db2_50001

--privileged=true:使得容器內(nèi)的 root 擁有真正的 root 權(quán)限。

-e DB2INST1_PASSWORD=123456:設(shè)置內(nèi)置實(shí)例用戶 db2inst1 的密碼為 123456

-e DBNAME=testdb:容器啟動(dòng)時(shí)自動(dòng)創(chuàng)建一個(gè)名為 testdb 的數(shù)據(jù)庫,如果不指定該參數(shù)則不創(chuàng)建數(shù)據(jù)庫

-e LICENSE=accept:接受協(xié)議

-v /data/tadopDataProject/db2/50001:/database:掛載目錄,其中/data/tadopDataProject/db2/50001 是宿主機(jī)的目錄

4.查看是否啟動(dòng)成功

docker ps

netstat -anp |grep 50001

5.進(jìn)入容器執(zhí)行db2命令

docker exec -it db2_50001 bash

執(zhí)行如下命令切換到實(shí)例用戶 db2inst1:

注意:一定要寫中間的那個(gè)橫條(-)。

su - db2inst1

查看運(yùn)行狀態(tài):

db2pd -

查看數(shù)據(jù)庫和補(bǔ)丁版本:

db2level

查看已經(jīng)創(chuàng)建的數(shù)據(jù)庫:

db2 list db directory

執(zhí)行命令連接 testdb 數(shù)據(jù)庫:

db2 connect to testdb

創(chuàng)建一個(gè)名為 TEST 的表:

注意:db2 命令后面的sql語句需要用引號(hào)括起來,否中會(huì)報(bào) -bash: syntax error near unexpected token `(' 錯(cuò)誤。

db2 "create table TEST(ID BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1,INCREMENT BY 1),USER_NAME VARCHAR(20),USER_AGES INT)"

查看所以用戶表:

db2 list tables

我們還可以執(zhí)行如下命令再創(chuàng)建一個(gè) SAMPLE 數(shù)據(jù)庫(樣例數(shù)據(jù)庫):

db2sampl

再次執(zhí)行 db2 list dbdirectory 命令查看是否創(chuàng)建成功

最后執(zhí)行 exit 即可退出容器,返回到宿主機(jī)。

鏈接 testdb 數(shù)據(jù)庫

以上這篇docker-compose安裝db2數(shù)據(jù)庫操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

標(biāo)簽:黃山 通遼 賀州 煙臺(tái) 湘潭 懷化 湖北 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker-compose安裝db2數(shù)據(jù)庫操作》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    元氏县| 德州市| 太湖县| 平乐县| 普定县| 峨眉山市| 三穗县| 兴海县| 梓潼县| 富锦市| 观塘区| 根河市| 正阳县| 太保市| 平潭县| 楚雄市| 霍邱县| 茌平县| 修文县| 桑日县| 高陵县| 屏东市| 永靖县| 湖州市| 嘉善县| 运城市| 会宁县| 威宁| 察雅县| 伊川县| 泰兴市| 景宁| 通渭县| 太和县| 东光县| 金沙县| 滨海县| 南部县| 宜兰市| 达拉特旗| 乐至县|