openGauss安装和使用

环境准备:

操作系统:

CentOS7.8

极简版安装

关闭防火墙

#修改配置
vim /etc/selinux/config
​
SELINUX=disabled
​
#重启操作系统
reboot
​
​
#检查关闭防火墙
systemctl status firewalld
#关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service

 

设置字符集

vim /etc/profile
#设置为utf-8
export LANG=en_US.UTF-8

 

关闭selinux

#查看SELINUX状态:
#SELinux共有3个状态enforcing (执行中)、permissive (不执行但产生警告)、disabled(关闭)
getenforce
​
#临时关闭(重启机器后失效)
#setenforce 0设置为permissive模式;setenforce 1 设置为enforcing模式;
setenforce 0
​
#永久关闭(需要重启机器)root用户执行
#注意:配置修改后需要重启才能生效
sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config

 

创建用户组和普通用户

必须创建新的用户,opengauss不能用root安装

#创建用户组dbgroup。
groupadd omm
​
#创建用户组dbgroup下的普通用户omm,并设置密码为Gauss_234 。
useradd -g omm omm
​
passwd omm
#Gauss@5432
​
#使用root用户执行
sysctl -w kernel.sem="250 85000 250 330" 
​
#切换用户omm
su - omm 

 

下载安装包

https://opengauss.org/zh/download/

选择极简版下载:

openGauss-5.0.2-CentOS-64bit.tar.bz2

 

解压安装包

检查安装目录及文件是否齐全。在安装包所在目录执行以下命令:

mkdir -p /home/omm/openGauss
#解压压缩包
tar -jxf openGauss-5.0.2-CentOS-64bit.tar.bz2 -C /home/omm/openGauss
 

 

使用脚本安装

默认用户名:omm

omm密码指定为:Gauss@5432

密码规则:密码长度8个字符以上,必须同时包含大写字母、小写字母、数字、以及特殊符号(特殊符号仅包含“#?!@$%^&*-”,并且“!$&”需要用转义符“\”进行转义)

#进入安装路径
cd /home/omm/openGauss/simpleInstall
#运行安装脚本
sh install.sh  -w "Gauss@5432" 
​
#install.sh 参数说明:
-w:初始化数据库密码(gs_initdb指定),因安全需要,此项必须设置。
-p:指定openGauss端口号,如不指定,默认为5432。
-h | --help:打印使用说明。

 

测试使用

#客户端登录默认生成的数据库 postgres
gsql -d postgres
​
#查看当前所有数据库
\l

 

配置

配置远程登录:

修改pg_hba.conf

host    all             all             0.0.0.0/0               md5

 

修改postgresql.conf

监听所有地址

listen_address='*'

配置日志:

修改postgresql.conf

# 代表日志是开启的。
logging_collector = on
# 日志存放的路径,默认放到当前目录下的log里
log_directory = 'log'
# 日志的文件名,默认是postgresql为前缀,星期作为后缀
log_filename = 'postgresql-%a.log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' 
# 默认一周过后,日志文件会被覆盖,只保留一周的日志
log_truncate_on_rotation = on
# 一天一个日志文件
log_rotation_age = 1d
# 一个日志文件,没有大小限制
log_rotation_size = 0

 

docker 安装

修改docker源

vim /etc/docker/daemon.json

{
    "registry-mirrors": ["https://hub.uuuadc.top", "https://docker.anyhub.us.kg", "https://dockerhub.jobcher.com", "https://dockerhub.icu", "https://docker.ckyl.me", "https://docker.awsl9527.cn"]
}

 

安装:

#重启docker
sudo systemctl daemon-reload 
sudo systemctl restart docker
docker info
​
#拉取镜像
docker search gaussdb
docker pull enmotech/opengauss
​
#创建数据目录
mkdir /mydata/opengauss -p
​
#创建容器:指定密码为 Gauss@1234
docker run -d --restart=always --name opengauss --privileged=true -d -e GS_PASSWORD=Gauss@1234 -p 5432:5432 -v /mydata/opengauss:/var/lib/opengauss enmotech/opengauss
​

 

测试使用

#客户端登录默认生成的数据库 postgres
gsql -d postgres
​
#查看当前所有数据库
\l

 

opengauss使用:

进入容器

docker exec -it  opengauss bash
su - omm
gsql

 

远程登录

新建用户,初始用户omm不允许远程登录

-- 准备用户
create user test with password 'Test@1234';
​
-- 准备数据库
create database test;
​
-- 切换数据库
\c test;
​
-- 构建schema
create schema test;
​
-- 将schema的拥有者修改为test用户
alter schema test owner to test;
​
-- 将test库下的test的schema中的表的增,改,查权限赋予给test用户
grant select,insert,update on all tables in schema test to test;
​
-- 用postgres用户先构建一张表,schema为test下创建表test
create table test.test(id int);
​
-- 切换到test用户。
--\c test -test 
\c test test 
​
--插入测试数据
insert into test values(1);
insert into test values(2);

 

java 使用 jdbc连接数据库

java项目使用jdbc方式连接openGauss数据库:

1.下载并加载驱动

从官网下载相应版本的驱动软件包

https://opengauss.org/zh/download/

下载 openGauss Connectors

选择 x86_64 -> Centos7.6 -> JDBC_5.0.2 点击下载

openGauss-5.0.2-JDBC.tar.gz

2 解压 openGauss-5.0.2-JDBC.tar.gz

将 opengauss-jdbc-5.0.2.jar 引入java项目中

3 测试代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
​
public class JdbcConn {
    public static void main(String[] args) {
        testOpenGauss();
    }
​
    public static void testOpenGauss() {
        // 数据库连接URL,格式为:jdbc:opengauss://主机名:端口/数据库名
        String jdbcUrl = "jdbc:opengauss://192.168.56.28:5432/test";
        // 数据库用户和密码
        String username = "test";
        String password = "Test@1234";
        String driver = "org.opengauss.Driver";
​
        try {
            // 加载JDBC驱动
            Class.forName(driver);
            // 建立数据库连接
            Connection connection = DriverManager.getConnection(jdbcUrl, username, password);
            // 创建Statement对象执行查询
            Statement statement = connection.createStatement();
            // 执行查询并获取结果
            ResultSet resultSet = statement.executeQuery("SELECT * FROM test");
​
            // 遍历结果集
            while (resultSet.next()) {
                // 处理每一行结果,例如打印这里打印前面插入的数据 1, 2
                System.out.println(resultSet.getString("id"));
            }
​
            // 关闭结果集、Statement和连接
            resultSet.close();
            statement.close();
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

posted on 2024-08-09 19:03  欢跳的心  阅读(186)  评论(0编辑  收藏  举报