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容器的好处就是可以服务器之间的无缝迁移,将来像往其他服务器迁移数据库也就很方便了。

发表评论