BlueXIII's Blog

热爱技术,持续学习

0%

AIX下非root安装sqlplus及mysql客户端

场景

同事的一个新需求,需要在AIX上以shell脚本的方式,调用sqlplus客户端连接Oracle数据库,调用mysql客户端连接MySQL数据库。
想尽量简化开发,只用纯脚本方式实现,不想替换为Java或其它方案,且不想远程调用其它Linux主机上的客户端。
故需要在AIX上安装两个客户端(只有普通用户权限,没有root权限)。没什么太特别的地方,简单记录一下过程。

sqlplus客户端的安装

Oracle接供了AIX下的InstantClient二进制zip包,其中包含了sqlplus,安装起来比较简单,主要注意一下环境变量的设置。

下载InstantClient

这里是Oracle Instant Client的下载地址 ,目前最新版本是11.2.0.1.0

  1. 首先根据系统,选择”适用于 AIX5L(64 位)的 Instant Client”
  2. 然后再下载Basic和SQLPlus两个编译好的二进制包,注意两个都要下载

上传并解压

将下载好的两个包 basic-11.2.0.1.0-aix-ppc64.zipsqlplus-11.2.0.1.0-aix-ppc64.zip上传至服务器,使用unzip解压至同一目录,例如: /path/to/instantclient。

设置环境变量

编辑.profile文件,加入以下两行:

1
2
export PATH=$PATH:/path/to/instantclient
export LIBPATH=/path/to/instantclient

注意AIX下要设置LIBPATH环境变量,且只能填写InstantClient一个目录,不能用冒号分割加入其它目录。

mysql客户端的安装

MySQL官网 目前只提供5.5~5.7的下载,且二进制ZIP包和RPM/DEB包主要针对Linux的各个发行版,没有对应的AIX版本。

连源码包也是”Generic Linux”的,在AIX下编译的话编译器和依赖都会有问题。Google上可以搜索到MySQL 5.1版本在AIX下成功编译的案例(需要一些trick),不过老源码目前在官网已经下载不到了。
第三方网站bullfreeware提供了5.5版本的RPM包。此种方式有安全风险,不过已经是唯一的方案了。

下载并处理RPM包

  1. bullfreeware 上下载MySQL5.5版本的客户端 MySQL-client-5.5.10-1.aix5.3.ppc.rpm
  2. 因为我们是没有root权限的,所有无法直接安装rpm包,需要将包里的二进制内容提取出来直接拷贝到安装目录:
    将rpm直接使用unzip解压,解出如下的目录结构:

    直接将bin目录下的二进制文件取出来上传至服务器,路径例如: /path/to/mysqlclient

设置环境变量

编辑.profile文件,加入PATH:

1
export PATH=$PATH:/path/to/mysqlclient

至此安装完毕