各种数据库shell一键登录的方法

发布时间 2023-11-30 06:42:31作者: 济南小老虎

各种数据库shell一键登录的方法


一个小场景
想通过shell 直接执行一些内容. 然后发现通过shell就可以. 
所以这里总结一下

1. Oracle

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
/u01/app/oracle/product/19.0.0/dbhome_1/bin/sqlplus username/'password'@ip.xx.xx.xx/oracle_sid

2. SQLServer

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
如果是linux8则使用如下
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo

yum makecache
yum install mssql-tools -y
/opt/mssql-tools/bin/sqlcmd   -S ip.xx.xx.xx -d databasename -U username -P 'password?!' 

3.mysql

yum install mysql -y 
/usr/bin/mysql -uroot -pxxxxpassword -h ip_xx_xx_xx -P 3306

4.pg数据库

cat > /root/.pgpass <<EOF
10.xx.xx.xx:5432:databasename:username:password
EOF
chmod 0600 /root/.pgpass

后者是在环境变量文件里面进行一下处理
cat >/etc/profile.d/postgresql.sh <<EOF
export PGPASSWORD='password'
EOF

/bin/psql -U username -d databasename -h 10.xx.xx.xx

# 需要注意 环境变量> .pgpass的文件. 如果密码不对必须使用 -W 输入密码才可以. 

5. 人大金仓

人大金仓有两种方式:
cat > /root/.kbpass <<EOF
10.xx.xx.xx:54321:databasename:username:password
EOF
chmod 0600 /root/.kbpass

或者是直接使用环境变量
cat >/etc/profile.d/postgresql.sh <<EOF
export KINGBASE_PORT=54321
export KINGBASE_USER=system
export KINGBASE_PASSWORD=123456
export KINGBASE_DATABASE=test
EOF

脚本为: 
opt/Kingbase/ES/V8/Server/bin/ksql -U username -p54321 -d databasename -h 10.xx.xx.xx

6. 达梦数据库

/opt/dmdbms/bin/disql usrename/'"password?!"'@10.xx.xx.xx
# 与oracle很接近 如果是非标注你数据库需要后面增加数据库名. 

7. 神通数据库

/opt/ShenTong/bin/isql -U username/password -h 10.xx.xx.xx

一个简单方法

国产数据库的 命令行工具都是自包含的
只需要将bin目录和lib目录copy到同架构的其他机器上面
理论上都可以直接用, 不需要手工安装一遍.