高斯数据库GaussDB详解
介绍
高斯数据库不是指某个特定的产品,而是一系列产品的统称。
从官网上看,包含三大类产品OLTP,OLAP,HTAP的多个子产品:
可见,高斯数据库已经被打造成多类型数据库的内核平台。
GaussDB100外称GaussT,意指交易型,开源本版openGauss,全自研。
GaussDB200外称GaussA,意指分析型,闭源,基于postgresql。
架构及部署
安装
采用opengauss 2.0.1:
支持的硬件平台:
openGauss支持运行在鲲鹏服务器和通用的x86服务器上:
支持鲲鹏服务器和基于x86_64的通用PC服务器。
支持本地存储(SATA、SAS、SSD)。
支持千兆、万兆Ethernet网络。
支持的操作系统:
ARM:
openEuler 20.3LTS(推荐采用此操作系统)
麒麟V10
X86:
openEuler 20.3LTS
CentOS7.6
下载地址:https://link.zhihu.com/?target=https%3A//opengauss.org/zh/download.html
环境配置:CentOS Linux release 7.9.2009 (Core)
关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
vim /etc/selinux/config
SELINUX=disabled
reboot
设置字符集
vim /etc/profile
export.UTF-8
关闭swap,提升性能
swapoff -a
初始化
解压:
yum -y install bzip2
tar -jxf openGauss-2.0.1-CentOS-64bit.tar.bz2 -C gauss
创建用户:
groupadd gauss
useradd gauss:gauss
修改安装目录为gauss
chown -R gauss:gauss gauss
su gauss
安装netstat:
yum -y install net-tools
修改内核参数:
echo "kernel.sem=250 32000 100 1280" >> /etc/sysctl.conf
sysctl -p
启动:
sh install.sh -w 1234.abc
ps ux | grep gaussdb
导入lib:
cp /opt/gauss/lib/* /usr/lib64
状态查询:
bin/gs_ctl query -D /opt/gauss/data/single_node
admin
启停:
gs_ctl start -D /opt/gauss/data/single_node
进入数据库:
gsql -d postgres -p 5432
\l 列出所有数据库
\c mdb 切换到mdb数据库
\d 列出当前数据库下的表
select user; 显示当前用户
ddl
sql语法:
https://link.zhihu.com/?target=https%3A//opengauss.org/zh/docs/2.0.1/docs/Developerguide/SQL%25E8%25AF%25AD%25E6%25B3%2595.html
create database mydb;
https://link.zhihu.com/?target=https%3A//opengauss.org/zh/docs/2.0.1/docs/Developerguide/DDL%25E8%25AF%25AD%25E6%25B3%2595%25E4%25B8%2580%25E8%25A7%2588%25E8%25A1%25A8.html
dml,dql
https://link.zhihu.com/?target=https%3A//opengauss.org/zh/docs/2.0.1/docs/Developerguide/DML%25E8%25AF%25AD%25E6%25B3%2595%25E4%25B8%2580%25E8%25A7%2588%25E8%25A1%25A8.html
client
允许远程连接:
1.pg_hba.conf
host all all 0.0.0.0/0 sha256
2.postgresql.conf
listen_addresses = '*'
DataStudio:
CREATE USER jack PASSWORD '1234.abc';
Java Client:
jdbc connector,不能使用postgresql的驱动:
下载:https://link.zhihu.com/?target=https%3A//opengauss.org/zh/download.html
public class App {
public static void main(String[] args) {
String username = "jack";
String passwd = "1234.abc";
getConnect(username, passwd);
}
//以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。
public static Connection getConnect(String username, String passwd) {
//驱动类。
String driver = "org.postgresql.Driver";
//数据库连接描述符。
String sourceURL = "jdbc:postgresql://192.168.56.103:5432/mydb";
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;
}
}
常用操作命令
GaussDB命令行连接
ssh连接主机,
IP:192.168.28.178,
用户名:root,
密码:Huawei @123
切换至bin目录,cd /home/gaussdba/app/bin/
切换用户为gaussdba,su gaussdba
连接gaussDb,gsql -d postgres -p 5432
基本操作命令
\l 列出所有数据库
\c database_name 切换数据库
\d 列出当前数据库下的表
\d tablename 列出指定表的所有字段
\d+ tablename 查看指定表的基本情况
\dn 展示当前数据库下所有schema信息
SHOW search_path; 显示当前使用的schema
SET search_path TO myschema; 切换当前schema
\q 退出登录