问题现象

在各个项目实施中,我们经常遇到客户、开发人员需要连接和使用YashanDB但不知如何操作的问题,本文旨在介绍远程连接、使用YashanDB的几种方式。

问题的风险及影响

无风险

问题影响的版本

历史版本~23.2

问题发生原因

解决方法及规避方式

不需要规避

问题分析和处理过程

方式一 客户端工具yasql

yasql简介

yasql 是YashanDB的客户端连接管理工具,可以通过此工具连接数据库服务器并对其进行操作和维护,除了具备操作数据库的基本功能,yasql还提供了若干其他功能,便于用户使用。

一般而言,在部署YashanDB的数据库上会同步部署yasql,其安装目录一般在$YASDB_HOME/bin下。

yasql的一般使用

使用yasql -H命令可查看帮助和版本信息。

$ yasql -H

使用yasql -V命令可查看版本信息。

$ yasql -V

常用的登录方式:

  • 方式一:通过输入用户名 、密码、数据库主机名和监听端口等信息登录并连接数据库,格式为"yasql /@:"。

  • 方式二:通过在${YASDB_HOME}/client/yasc_service.ini中定义的连接别名登录并连接数据库,格式为"yasql /@alias"。

  • 方式三:通过操作系统认证方式登录,格式为"yasql / as sysdba"或"yasql / as sysdba",连接到本地YASDB_DATA环境变量对应的数据库实例。操作系统认证方式登录需配置后才可使用,配置操作请参考数据库管理手册操作系统身份认证配置

操作示例

使用Yasql执行一个sql文件

可以通过参数"-f [-e]" 执行一个SQL文件。其中,“-e”显示执行的语句。通过重定向符,还可以记录输出。

操作示例

通过 "!" 执行外部的shell命令

可以通过使用 "!“ 在yasql中执行外部命令

操作示例

如何退出

通过 "exit" 或者 ctrl+z的方式退出yasql

操作示例

在输入sql时回退以及上下翻页

安装rlwrap

sudo yum install rlwrap
sudo yum -y install readline*
wget http://files.cnblogs.com/files/killkill/rlwrap-0.30.tar.gz.zip
tar -xf rlwrap-0.30.tar.gz.zip
cd rlwrap-0.30
./configure
make
sudo make install

操作示例

如何单独安装Yasql

当需要在一台额外的服务器上访问远程的数据库时(或在windows本地),可能需要单独安装yasql。

linux中安装使用

1 获得安装包

--arm 环境
yashandb-client-23.1.3.101-linux-aarch64.tar.gz --X86环境
yashandb-client-23.1.3.101-linux-x86_64.tar.gz 2 解压安装包 cd /home/yashanclient/yasql (例如在这个目录)
tar -zxf yashandb-client-23.1.3.101-linux-x86_64.tar.gz 3 获得当前目录,设置环境变量 pwd
#例如输出:/home/yashanclient/yasql export LD_LIBRARY_PATH=${解压目录}/lib:$LD_LIBRARY_PATH
#例如:
export LD_LIBRARY_PATH=/home/yashanclient/yasql/lib:$LD_LIBRARY_PATH 或者永久生效:
vi ~/.bashrc
写入
export LD_LIBRARY_PATH=${解压目录}/lib:$LD_LIBRARY_PATH
:wq!
source ~/.bashrc 4 连接yashan服务端 cd yasql解压目录/bin ./yasql 用户/密码@IP:端口

windows中安装使用

1 解压

yashandb-client-23.1.3.101-windows-amd64.zip
2 设置环境变量 假如解压的目录是:C:\Users\huangsl\Desktop\yashandb-client-23.1.3.101-windows-amd64 添加环境变量:用户环境变量--> 双击Path-->新建: C:\Users\huangsl\Desktop\yashandb-client-23.1.3.101-windows-amd64\lib 保存 3 使用 打开powershell cd C:\Users\huangsl\Desktop\yashandb-client-23.1.3.101-windows-amd64\bin .\yasql username/userpassword@ip:port

方式二 使用开发者工具DBeaver

DBeaver简介

DBeaver for YashanDB基于流行的开源图形化工具DBeaver,在严格遵循DBeaver Community Edition 的ASL开源协议基础上,进行了二次开发和封装,支持管理单机、集群和分布式三种形态的YashanDB数据库图形化开发及管理。可以通过下载中心下载:https://download.yashandb.com/download

连接YashanDB

参考操作文档:DBeaver 建立YashanDB连接

方式三 使用Yasboot连接

Yasboot工具也集成了yasql客户端的功能(实际上是调用了yasql)。

示例1(连接yasql客户端)

#指定节点标识连接
$ yasboot sql -n 1-1 -u username -p password -c yashandb #指定IP:PORT连接
$ yasboot sql -d username/password@127.0.0.1:1688 # ipv6 需要添加中括号
$ yasboot sql -d username/password@[::1]:1688

示例2(执行SQL语句)

$ yasboot sql -n 1-1 -u username -p password -c yashandb -s 'select status from v$instance;'

STATUS
-----------------
OPEN

示例3(执行SQL文件)

$ yasboot sql -d username/password@127.0.0.1:1678 -f get_status.sql --echo

方式四 使用高级编程语言的数据库驱动

YashanDB 23.2版本对外支持的驱动有:JAVA、Python、C、.NET等

以常用的JDBC举例:

//DriverManager方法
public static Connection getConnection(String username, String passwd) {
//驱动类。
String driver = "com.yashandb.jdbc.Driver";
//数据库连接描述符。
String sourceURL = "jdbc:yasdb://10.10.10.2:1688/yasdb";
Connection conn = null; try {
//加载驱动。
Class.forName(driver);
} catch( Exception e ) {
e.printStackTrace();
return null;
} try {
//创建连接。
conn = DriverManager.getConnection(sourceURL, username, passwd);
System.out.println("Connection succeed!");
} catch(Exception e) {
e.printStackTrace();
return null;
} return conn;
} //YasDataSource方法
public static Connection getConnDS() {
Connection connect = null;
try {
YasDataSource ads = new YasDataSource();
ads.setURL(url);
connect = ads.getConnection(user, password);
} catch (Exception e) {
e.printStackTrace();
}
return connect;
}

其它详细介绍见文档:JDBC驱动

经验总结

【YashanDB知识库】如何远程连接、使用YashanDB?的更多相关文章

  1. 远程连接mysql,mysql如何开启远程连接

    很多时候,mysql只需要开本地连接,也就是本机(服务器本身)连接就可以,默认也是这样,默认也不支持远程连接 但有的时候,我们需要将mysql独立出一台主机或数据库,放到另一台机器的时候,这时,就需要 ...

  2. MSSQL远程连接

    背景:部署公司自己研发的ERP系统. 1)系统架构: .NET+MSSQL. 2)服务器系统:Windows Server 2008 R2 Enterprise 3)数据库:MSSQL Server ...

  3. 配置mysql允许远程连接的方法

    默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件. 一.修改/etc/mysql/my.conf找到bind-address = 127.0 ...

  4. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

  5. Windows远程连接Linux

    目录 xrdp方式 vnc方式 xrdp方式 ----------------------------------------------------------------------------- ...

  6. MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...

  7. SQL Server 2008 允许远程连接的配置

    如果无法通过IP地址远程连接你的SQL Server 2008服务器,可以参考下面的内容进行设置.在进行下述设置之前,应该确保你的网络已经安装设置完毕,服务器已经正常连接到网络中. 1.单击Windo ...

  8. 【先定一个小目标】怎么解决mysql不允许远程连接的错误

    最近使用Navicat for MySQl访问远程mysql数据库,出现报错,显示“1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to ...

  9. access基本操作(c#操作,远程连接,执行sql,加密,备份)

    前言 最近项目用到了access,是的就是access,工作在桌面型的小数据库应用还是会用到的,如果你确定永远不会遇到access的操作,请忽略此篇文章 1.vs配置access 既然是数据库,就少不 ...

  10. mongodb安装、启动、远程连接

    1.现在mongodb安装包 mongodb-linux-x86_64-3.0.6.tgz 2.解压缩安装包 tar zxvf  mongodb-linux-x86_64-3.0.6.tgz /opt ...

随机推荐

  1. VulnHub-Narak靶机渗透流程

    VulnHub-Narak Description Narak is the Hindu equivalent of Hell. You are in the pit with the Lord of ...

  2. Spring PropertySource,获取指定application.properties文件

    @PropertySource注解的使用 @PropeertySource,指定加载配置文件 配置文件映射到实体类 使用@Value映射到具体的java属性 CustomConfig.java pac ...

  3. PowerBuilder编程新思维6:装饰(用最简单的方式做框架)

    To be, or not to be - that is the question. PowerBuilder编程新思维6:装饰(用最简单的方式做框架) 问题 这一章,是写得最艰难的一章,原因有四: ...

  4. Java 基于Apache POI实现Excel读写操作

    实践环境 Win10 Java JDK1.8 代码实现 pom.xml配置 <?xml version="1.0" encoding="UTF-8"?&g ...

  5. 初读nginx.conf

    学成在线里教的部署门户,记录一下NGINX的部分配置是如何使用的 location块用于定义如何处理不同URL请求 1.代理: server { listen 80; server_name file ...

  6. AS上的基础中级控件-图形定制

    图形Drawable 1.Drawable表达包含了图片色块画布背景等 2.存在res中的Drawable目录下,保存描述性的XML文件 3.各种视图都可以使用该控件如ViewText,Button, ...

  7. pytest数据驱动 pandas

    pytest数据驱动 pandas 主要过程:用pandas读取excel里面的数据,然后进行百度查询,并断言 pf = pd.read_excel('data_py.xlsx', usecols=[ ...

  8. 【SQL】 牛客网SQL训练Part2 中等难度

    查找当前薪水详情以及部门编号dept_no 查找 1.各个部门当前领导的薪水详情以及其对应部门编号dept_no, 2.输出结果以salaries.emp_no升序排序, 3.并且请注意输出结果里面d ...

  9. 【Canal】01 入门 & Kafka模式

    什么是Canal (卡耐尔) ? Canal 是用 Java 开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件 原理基于MySQL的binlog从库监听       一.MySQL ...

  10. Ubuntu-20.04.6-server安装MySQL实现远程连接

    Ubuntu-20.04.6-server安装MySQL,修改密码 安装MySQL 一.查看是否安装数据库 mysql --version 二.更新系统中的所有软件包和存储库 sudo apt upd ...