docker-compose安装db2数据库操作

 更新时间:2020年12月05日 08:51:19   作者:筑梦师  
这篇文章主要介绍了docker-compose安装db2数据库操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

db2数据库在宿主机直接安装比较麻烦,而且涉及用户和权限也不方便,所以采用docker安装db2数据库,这样做的好处是便于数据库的管理和网络隔离,网上一般都是docker直接run的这种不便于后期修改,我们依然采用docker-compose文件来安装db2数据库。

1、编写docker-compose文件,会自动下载数据库镜像

此文件自己创建一个文件夹放就可以了

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初始化完成,可能需要几分钟

#执行docker-compose开始安装
docker-compose up -d
#查看安装日志
docker-compose logs
#差不多到创建完TESTDB的时候就安装好了

3、进入db2数据库容器创建自己的数据库

#进入容器
docker exec -it db211.5 bash
#切换到db2inst1用户
su db2inst1
#查看有没有我们的TESTDB数据库
db2 list db directory

4、创建一个用户并赋予权限

其他的权限可网上看看,这里简单弄一个连接和增删改查权限

#创建用户组
groupadd db2group
#添加用户到该组
useradd -m -g db2group -d /home/test test
#修改test密码
passwd test
#连续输入两次密码
#切换到db2inst1用户下给test赋予连接权限
su db2inst1
#连接数据库
db2 connect to 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 direcotry
#查看库中的表名
db2 list tables
#更多命令省略

5、db2导出导入操作命令

#db2导出命令(会出现很多文件,将这些文件都打包)
db2move <your databases> export
#db2导入命令 (将打包后的文件复制到你要导入的服务器上面,然后在该文件夹目录执行以下命令)
db2move <your databases> import
#如果出现权限问题,用root用户赋予文件夹的可写权限,因为导入命令会创建一个import.out文件

至此,docker对于db2的安装就完成了,用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:使得容器内的 root 拥有真正的 root 权限。

-e DB2INST1_PASSWORD=123456:设置内置实例用户 db2inst1 的密码为 123456

-e DBNAME=testdb:容器启动时自动创建一个名为 testdb 的数据库,如果不指定该参数则不创建数据库

-e LICENSE=accept:接受协议

-v /data/tadopDataProject/db2/50001:/database:挂载目录,其中/data/tadopDataProject/db2/50001 是宿主机的目录

4.查看是否启动成功

docker ps

netstat -anp |grep 50001

5.进入容器执行db2命令

docker exec -it db2_50001 bash

执行如下命令切换到实例用户 db2inst1:

注意:一定要写中间的那个横条(-)。

su - db2inst1

查看运行状态:

db2pd -

查看数据库和补丁版本:

db2level

查看已经创建的数据库:

db2 list db directory

执行命令连接 testdb 数据库:

db2 connect to testdb

创建一个名为 TEST 的表:

注意:db2 命令后面的sql语句需要用引号括起来,否中会报 -bash: syntax error near unexpected token `(' 错误。

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

我们还可以执行如下命令再创建一个 SAMPLE 数据库(样例数据库):

db2sampl

再次执行 db2 list dbdirectory 命令查看是否创建成功

最后执行 exit 即可退出容器,返回到宿主机。

链接 testdb 数据库

以上这篇docker-compose安装db2数据库操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot 打包上传Docker 仓库的详细步骤

    Spring Boot 打包上传Docker 仓库的详细步骤

    这篇文章主要介绍了Spring Boot 打包上传Docker 仓库的详细步骤,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • docker搭建Jenkins以及基本使用图文教程

    docker搭建Jenkins以及基本使用图文教程

    Jenkins是一个广泛使用的开源持续集成工具,它能够自动化构建、测试和部署软件项目,这篇文章主要给大家介绍了关于docker搭建Jenkins以及基本使用的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • Docker容器中Mysql数据的导入/导出详解

    Docker容器中Mysql数据的导入/导出详解

    服务器在使用了 Docker 后,对于备份和恢复数据库的事情做下记录,下面这篇文章主要给大家介绍了Docker容器中Mysql数据导入/导出的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • Docker安装部署RabbitMQ的实现步骤

    Docker安装部署RabbitMQ的实现步骤

    RabbitMQ是一款开源的消息队列中间件,能够在分布式系统中实现可靠的消息传递,本文主要介绍了Docker安装部署RabbitMQ的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • Docker中的镜像详细介绍

    Docker中的镜像详细介绍

    这篇文章主要介绍了Docker中的镜像详细介绍的相关资料,需要的朋友可以参考下
    2017-05-05
  • 聊聊Docker不适合跑 MySQL 的N个原因

    聊聊Docker不适合跑 MySQL 的N个原因

    容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题,这篇文章主要介绍了Docker 为什么不适合跑 MySQL?有N个原因,需要的朋友可以参考下
    2022-12-12
  • cordon节点drain驱逐节点delete节点详解

    cordon节点drain驱逐节点delete节点详解

    这篇文章主要为大家介绍了cordon节点drain驱逐节点delete节点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • docker中如何将jar包构建成镜像并执行

    docker中如何将jar包构建成镜像并执行

    这篇文章主要介绍了docker中如何将jar包构建成镜像并执行问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • docker完整配置nginx+php+mysql的方法步骤

    docker完整配置nginx+php+mysql的方法步骤

    这篇文章主要介绍了docker完整配置nginx+php+mysql的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Docker部署SpringBoot项目的实现步骤

    Docker部署SpringBoot项目的实现步骤

    本文主要介绍了Docker部署SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2007-02-02

最新评论