Linux下安装DB2数据库步骤
ztj100 2024-11-23 00:03 55 浏览 0 评论
前言:
最近有些项目在Linux下使用的是IBM的DB2数据库,感觉没MySQL那样容易了解深入,可能是DB2数据库更倾向于商业化,没MySQL那样开源,相关DB2的资源网上没MySQL那样普及,至于在学习DB2过程中没学MySQL那样顺畅.
下面简单记录下学习笔记,我所使用的Linux系统是RedHat企业版本(Red Hat Enterprise Linux 5),此为自己安装在虚拟机下的DB2数据库,主要用来学习的,真正的如果商业使用DB2数据库需要付费的。
准备工作
步骤1 以root用户登陆需要安装DB2的Linux服务器。
步骤2 创建DB2安装包存放目录:# mkdir /home/db2install
步骤3:将需要安装的文件上传至该目录下
步骤4:解压通过使用图形界面,右键。解压到本地
1.下载DB2数据库软件包db2exc_971_LNX_x86.tar.gz (注:官方免费使用版本)
http://www.ibm.com/developerworks/cn/downloads/im/udbexp/
Linux for System x86 V9.7.5 317MB
DB2 Express-C 免费数据库服务器
db2exc_971_LNX_x86.tar.gz (404 MB)
Data Studio(独立)管理实用程序
ibm_data_studio_standalone_linux.tar.gz (208 MB)
DB2 9.7.1 的本地语言包
db2exc_nlpack_971_LNX_x86.tar.gz (317 MB)
注:第一次登陆需要注册用户后才可以下载
2.解压 tar -zxvf db2软件包(放在opt目录下)
注:安装切换到root用户下
[root@localhost DB2]# pwd
/mnt/hgfs/Sunrier/DB2
[root@localhost DB2]# ls
db2exc_971_LNX_x86.tar.gz
[root@localhost DB2]# cd /opt
[root@localhost opt]# ls
[root@localhost opt]# tar -zxvf /mnt/hgfs/Sunrier/DB2/db2exc_971_LNX_x86.tar.gz
..............................................................................
..............................................................................
..............................................................................
..............................................................................
..............................................................................
..............................................................................
expc/db2_deinstall
expc/readmefirst.htm
expc/db2setup
expc/db2ls
expc/db2ckupgrade
expc/db2_install
expc/readmefirst.txt
expc/installFixPack
[root@localhost opt]# ls
expc
[root@localhost opt]#
3.开始安装软件包
[root@localhost opt]# ls
expc
[root@localhost opt]# cd expc
[root@localhost expc]# ls
db2 db2_deinstall db2ls db2setup installFixPack readmefirst.htm
db2ckupgrade db2_install db2prereqcheck doc readmefirst readmefirst.txt
[root@localhost expc]# ./db2_install
用于安装产品的缺省目录 - /opt/ibm/db2/V9.7
***********************************************************
要选择另一个目录用于安装吗?[是/否]
否
正在初始化 DB2 安装。
要执行的任务总数为:35
要执行的所有任务的总估计时间为: 1149
任务 #1 启动
描述: 正在检查许可协议的接受情况
估计时间 1 秒
任务 #1 结束
任务 #2 启动
描述: 具备 root 用户特权的情况下进行安装时的基本客户机支持
估计时间 3 秒
任务 #2 结束
********************
********************
********************
********************
********************
********************
********************
********************
********************
********************
********************
********************
********************
********************
********************
********************
任务 #34 启动
描述: 正在注册 DB2 更新服务
估计时间 30 秒
任务 #34 结束
任务 #35 启动
描述: 正在更新全局概要文件注册表
估计时间 3 秒
任务 #35 结束
已成功完成执行。
有关更多信息, 请参阅 "/tmp/db2_install.log.24239" 上的 DB2安装日志 。
[root@localhost opt]# ls
expc ibm
[root@localhost opt]#
4.注册license
[root@localhost opt]# cd ibm/db2/V9.7/adm
[root@localhost adm]# pwd
/opt/ibm/db2/V9.7/adm
[root@localhost adm]# ls
cieadmsv cieprcnt db2audit db2chparm db2fmp db2genp db2govlg db2inidb db2path db2rfpen db2set db2stop db2sysc
ciecsdem cieprisc db2cacpy db2dart db2fmpr db2gov db2havend db2licd db2pd db2rstar db2star2 db2stop2 db2syscr
cielock cieprupx db2cap db2dasstml db2fmpterm db2govd db2iclean db2licm db2pdcfg db2rstop db2start db2stst db2trc
[root@localhost adm]# /opt/ibm/db2/V9.7/adm/db2licm -a /opt/expc/db2/license/db2expc_uw.lic
LIC1402I License added successfully.
LIC1426I This product is now licensed for use as outlined in your License Agreement. USE OF THE PRODUCT CONSTITUTES ACCEPTANCE OF THE TERMS OF THE IBM LICENSE
AGREEMENT, LOCATED IN THE FOLLOWING DIRECTORY: "/opt/ibm/db2/V9.7/license/zh_CN.utf8"
[root@localhost adm]#
5.创建三个用户组
[root@localhost adm]# groupadd -g 901 db2iadm1
[root@localhost adm]# groupadd -g 902 db2fadm1
[root@localhost adm]# groupadd -g 903 db2dadm1
6.创建三个用户(分别是拥有实例的用户,受防护的用户,DAS用户)且指定对应的用户组
[root@localhost adm]# useradd -g db2iadm1 -u 101 -d /home/db2inst1 -m db2inst1
[root@localhost adm]# useradd -g db2fadm1 -u 102 -d /home/db2fenc1 -m db2fenc1
[root@localhost adm]# useradd -g db2dadm1 -u 103 -d /home/db2dasusr1 -m db2dasusr1
参数说明:
-u uid 使用者的ID值,必须为唯一的ID值,除非用-o选项可以不唯一,数字不可为负值,0~999传统上是保留给系统帐号使用。
-d path 使用者目录
-m 使用者目录如不存在则自动建立
-s shell 使用者登入后使用shell名称作为提示符,如果不写系统会帮你指定预设的登入shell
例子:
[root@localhost ~]# groupadd -g 888 testgroup
[root@localhost ~]# useradd -g testgroup -u 555 -d /home/testuser1 -m testuser1
或[root@localhost ~]# useradd -g testgroup -u 555 -d /home/testuser1 -m -s /bin/sh testuser1
[root@localhost ~]# userdel testuser1
[root@localhost ~]# groupdel testgroup
当加上-s /bin/sh时,在root用户下切换到testuser1时变成sh-3.1$
查看echo $PS1变成了\s-\v\$
所以想更改成以前的那种登陆提示符,修改PS1环境变量的值
sh-3.1$ export PS1="[\u@\h \W]\$ "
\h 显示主机名
\u 显示当前用户的用户名
\W 显示当前工作目录的名字
\w 显示当前工作目录的路径
\s 显示当前运行的shell的名字
\v 显示shell的版本
\t 显示当前时间
\d 显示当前日期
\\ 显示反斜杠
\$ 显示$符作为提示符,如果用户是root的话,则显示#号
\# 显示当前命令的命令编号
\! 显示该命令的历史记录编号
\n 打印新行
\nnn 显示nnn的八进制值
7.添加三个用户的密码
添加实例的用户密码
[root@localhost adm]# passwd db2inst1
Changing password for user db2inst1.
New UNIX password: 输入新密码(如Sunrier)
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: 再输入新密码(如Sunrier,跟第一次输入相同)
passwd: all authentication tokens updated successfully.
[root@localhost adm]#
添加受防护的用户密码
[root@localhost adm]# passwd db2fenc1
Changing password for user db2fenc1.
New UNIX password: 输入新密码
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: 再输入新密码(两次需相同,否则需要重新输入)
passwd: all authentication tokens updated successfully.
[root@localhost adm]#
添加DAS用户密码
[root@localhost adm]# passwd db2dasusr1
Changing password for user db2dasusr1.
New UNIX password: 输入新密码
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: 再输入新密码(两次需相同,否则需要重新输入)
passwd: all authentication tokens updated successfully.
[root@localhost adm]#
8.检查用户组和用户是否创建成功
用户组: more /etc/group | grep db2
用户: more /etc/passwd | grep db2
[root@localhost adm]# more /etc/group | grep db2
db2iadm1:x:901:
db2fadm1:x:902:
db2dadm1:x:903:
[root@localhost adm]# more /etc/passwd | grep db2
db2inst1:x:101:901::/home/db2inst1:/bin/sh
db2fenc1:x:102:902::/home/db2fenc1:/bin/sh
db2dasusr1:x:103:903::/home/db2dasusr1:/bin/sh
[root@localhost adm]#
9.创建实例
进入/opt/ibm/db2/V9.7/instance目录
[root@localhost adm]# cd /opt/ibm/db2/V9.7/instance
[root@localhost instance]# pwd
/opt/ibm/db2/V9.7/instance
[root@localhost instance]# ./dascrt -u db2dasusr1 (注:创建DB2管理服务器)
[root@localhost instance]# ./db2icrt -u db2fenc1 db2inst1 (注:创建DB2实例)
或者[root@localhost instance]# ./db2icrt -a server -u db2fenc1 db2inst1 (注:创建DB2实例)这里dascrt创建的是DB2 adminstration server,每台服务器只有一个这种server,为进行DB2管理(比如运行控制中心)所必须,同时指定其管理用户是db2dasusr1 ,db2icrt创建的是实例,其名字一般和管理用户名一样,这里db2fenc1指定db2inst1为它的防护用户,而db2inst1为一实例用户
10.配置DB2
1)设置DB2自启动(注:依然在root用户下)
[root@localhost instance]# pwd
/opt/ibm/db2/V9.7/instance
[root@localhost instance]# ./db2iauto -on db2inst1
db2set MsgRC=1306, P1='', P2=''
[root@localhost instance]#
设置对db2inst1在Linux启动时自动启动。
2)修改网络服务端口(注:在db2inst1用户下)
修改DB2的服务端口为50658,默认情况下端口是50000
[root@localhost instance]# su - db2inst1
[db2inst1@localhost ~]$ db2 update dbm cfg using SVCENAME 50658
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
[db2inst1@localhost ~]$
3)修改DB2连接方式为TCP/IP
[db2inst1@localhost ~]$ db2set DB2COMM=TCPIP
[db2inst1@localhost ~]$
修改DB2连接方式为TCPIP,然后可通过JDBC、ODBC等访问本DB2服务器上的数据库,安装了DB2客户端的其它机器也可访问数据库。
11.查看DB2许可证情况
[root@localhost ~]$ su - db2inst1
[db2inst1@localhost ~]$ db2licm -l
Product name: "DB2 Express-C"
License type: "Unwarranted"
Expiry date: "Permanent"
Product identifier: "db2expc"
Version information: "9.7"
Max number of CPUs: "2"
Max amount of memory (GB): "2"
[db2inst1@localhost DB2]$
注:上面为官网下载的免费DB2版本
[root@localhost ~]$ su - db2inst1
[db2inst1@localhost ~]$ db2licm -l
Product Name = "DB2 Universal Database Express Edition"
Product Identifier = "DB2EXP"
Version Information = "8.2"
Expiry Date = "Permanent"
Registered User Policy = "Disabled"
Enforcement Policy = "Soft Stop"
Number of processors = "1"
Number of licensed processors = "2"
Annotation = ""
Other information = ""
[db2inst1@localhost ~]$ db2licm -l
注:上面为商业使用中的付费DB2版本
12.查看DB2版本
[root@localhost ~]$ su - db2inst1
[db2inst1@localhost ~]$ db2level
DB21085I Instance "db2inst1" uses "32" bits and DB2 code release "SQL09071"
with level identifier "08020107".
Informational tokens are "DB2 v9.7.0.1", "s091114", "IP23033", and Fix Pack
"1".
Product is installed at "/opt/ibm/db2/V9.7".
[db2inst1@localhost ~]$
注:上面为官网下载的免费DB2版本
[db2inst1@localhost ~]$ db2level
DB21085I Instance "db2inst1" uses "32" bits and DB2 code release "SQL08023"
with level identifier "03040106".
Informational tokens are "DB2 v8.1.2.97", "special_15462", "MI00142_15462", and
FixPak "10".
Product is installed at "/opt/IBM/db2/V8.1".
[db2inst1@localhost ~]$
注:上面为商业使用中的付费DB2版本
相关推荐
- sharding-jdbc实现`分库分表`与`读写分离`
-
一、前言本文将基于以下环境整合...
- 三分钟了解mysql中主键、外键、非空、唯一、默认约束是什么
-
在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。...
- MySQL8行级锁_mysql如何加行级锁
-
MySQL8行级锁版本:8.0.34基本概念...
- mysql使用小技巧_mysql使用入门
-
1、MySQL中有许多很实用的函数,好好利用它们可以省去很多时间:group_concat()将取到的值用逗号连接,可以这么用:selectgroup_concat(distinctid)fr...
- MySQL/MariaDB中如何支持全部的Unicode?
-
永远不要在MySQL中使用utf8,并且始终使用utf8mb4。utf8mb4介绍MySQL/MariaDB中,utf8字符集并不是对Unicode的真正实现,即不是真正的UTF-8编码,因...
- 聊聊 MySQL Server 可执行注释,你懂了吗?
-
前言MySQLServer当前支持如下3种注释风格:...
- MySQL系列-源码编译安装(v5.7.34)
-
一、系统环境要求...
- MySQL的锁就锁住我啦!与腾讯大佬的技术交谈,是我小看它了
-
对酒当歌,人生几何!朝朝暮暮,唯有己脱。苦苦寻觅找工作之间,殊不知今日之事乃我心之痛,难道是我不配拥有工作嘛。自面试后他所谓的等待都过去一段时日,可惜在下京东上的小金库都要见低啦。每每想到不由心中一...
- MySQL字符问题_mysql中字符串的位置
-
中文写入乱码问题:我输入的中文编码是urf8的,建的库是urf8的,但是插入mysql总是乱码,一堆"???????????????????????"我用的是ibatis,终于找到原因了,我是这么解决...
- 深圳尚学堂:mysql基本sql语句大全(三)
-
数据开发-经典1.按姓氏笔画排序:Select*FromTableNameOrderByCustomerNameCollateChinese_PRC_Stroke_ci_as//从少...
- MySQL进行行级锁的?一会next-key锁,一会间隙锁,一会记录锁?
-
大家好,是不是很多人都对MySQL加行级锁的规则搞的迷迷糊糊,一会是next-key锁,一会是间隙锁,一会又是记录锁。坦白说,确实还挺复杂的,但是好在我找点了点规律,也知道如何如何用命令分析加...
- 一文讲清怎么利用Python Django实现Excel数据表的导入导出功能
-
摘要:Python作为一门简单易学且功能强大的编程语言,广受程序员、数据分析师和AI工程师的青睐。本文系统讲解了如何使用Python的Django框架结合openpyxl库实现Excel...
- 用DataX实现两个MySQL实例间的数据同步
-
DataXDataX使用Java实现。如果可以实现数据库实例之间准实时的...
- MySQL数据库知识_mysql数据库基础知识
-
MySQL是一种关系型数据库管理系统;那废话不多说,直接上自己以前学习整理文档:查看数据库命令:(1).查看存储过程状态:showprocedurestatus;(2).显示系统变量:show...
- 如何为MySQL中的JSON字段设置索引
-
背景MySQL在2015年中发布的5.7.8版本中首次引入了JSON数据类型。自此,它成了一种逃离严格列定义的方式,可以存储各种形状和大小的JSON文档,例如审计日志、配置信息、第三方数据包、用户自定...
你 发表评论:
欢迎- 一周热门
-
-
MySQL中这14个小玩意,让人眼前一亮!
-
旗舰机新标杆 OPPO Find X2系列正式发布 售价5499元起
-
【VueTorrent】一款吊炸天的qBittorrent主题,人人都可用
-
面试官:使用int类型做加减操作,是线程安全吗
-
C++编程知识:ToString()字符串转换你用正确了吗?
-
【Spring Boot】WebSocket 的 6 种集成方式
-
PyTorch 深度学习实战(26):多目标强化学习Multi-Objective RL
-
pytorch中的 scatter_()函数使用和详解
-
与 Java 17 相比,Java 21 究竟有多快?
-
基于TensorRT_LLM的大模型推理加速与OpenAI兼容服务优化
-
- 最近发表
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)
- vmware17pro最新密钥 (34)
- mysql单表最大数据量 (35)