| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> opengauss安装与使用 -> 正文阅读 |
|
[系统运维]opengauss安装与使用 |
一、opengauss数据库安装: 1.1实验环境:Virtual BOX 6.1.26+centos 7.8+openGauss1.1.0 1.2虚拟机Virtual BOX安装: 在virtualbox.org/wiki/Downloads上下载WINDOS 1.3Centos7.8镜像下载 在华为开源镜像站下载:https://mirrors.huaweicloud.com/centos-vault/7.8.2003/isos/x86_64/ 1.4在virtualbox上安装centos7.8 ①新建虚拟机: 设置虚拟机并安装:
6软件选择如下: 7创建用户,设置root密码 8进入系统后通过ifconfig和ping命令查看是否联网 1.5操作系统环境准备 ①:修改操作系统版本: [root@db1 ~]# vi /etc/redhat-release CentOS Linux release **7.6.**2003 (Core ②执行以下二个命令将防火墙关闭, [root@db1 ~]# systemctl stop firewalld.service [root@db1 ~]# systemctl disable firewalld.service Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@db1 ~]# ③设置字符集及环境变量。 ④验证变量是否生效。 ⑤关闭swap交换内存 ⑥准备yum环境 先备份一下: ⑦下载可用源的repo文件 查看repo文件内容是否正确: cat /etc/yum.repos.d/CentOS-Base.repo ⑧:yum安装相关包。 执行以下命令,安装所需的包 yum install -y libaio-devel flex bison ncurses-devel glibc.devel patch ⑨:设置默认Python版本为3.x。 [root@db1 ~]# cd /usr/bin [root@db1 bin]# mv python python.bak [root@db1 bin]# ln -s python3 /usr/bin/python [root@db1 bin]# python -V Python 3.6.8 修改/usr/bin/yum文件,把#!/usr/bin/python这行修改为#!/usr/bin/python2.7(或者对应的python 用yum -help确定yum是否能用。如下: ⑩创建存放数据库安装目录 11:下载数据库安装包 wget 结果如下: 1.6安装opengauss数据库: 1:创建XML配置文件,用于数据库安装 我在这里遇到了问题,无法复制粘贴,也无法输入中文。 解决:我通过安装图形界面解决了粘贴和中文的的问题。 ①安装X(X Window System),命令如下: yum groupinstall “X Window System” ②安装图形界面软件: yum groupinstall “GNOME Desktop” ③设置开机自启图形化界面 systemctl get-default systemctl set-default graphical.target 解决之后可以复制以下内容到/opt/software/openGauss/clusterconfig.xml中 <?xml version=“1.0” encoding=“UTF-8”?> <ROOT> <!-- openGauss整体信息 --> <CLUSTER> <PARAM name=“clusterName” value=“dbCluster” /> <PARAM name=“nodeNames” value=“db1” /> <PARAM name=“backIp1s” value=“10.0.3.15”/> <PARAM name=“gaussdbAppPath” value="/opt/gaussdb/app" /> <PARAM name=“gaussdbLogPath” value="/var/log/gaussdb" /> <PARAM name=“gaussdbToolPath” value="/opt/huawei/wisequery" /> <PARAM name=“corePath” value="/opt/opengauss/corefile"/> <PARAM name=“clusterType” value=“single-inst”/> </CLUSTER> <!-- 每台服务器上的节点部署信息 --> <DEVICELIST> <!-- node1上的节点部署信息 --> <DEVICE sn=“1000001”> <PARAM name=“name” value=“db1”/> <PARAM name=“azName” value=“AZ1”/> <PARAM name=“azPriority” value=“1”/> <!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> <PARAM name=“backIp1” value=“10.0.3.15”/> <PARAM name=“sshIp1” value=“10.0.3.15”/> <!–dbnode–> <PARAM name=“dataNum” value=“1”/> <PARAM name=“dataPortBase” value=“26000”/> <PARAM name=“dataNode1” value="/gaussdb/data/db1"/> </DEVICE> </DEVICELIST> </ROOT> 2:将下载好的安装包解压至存放目录。 先解压openGauss-1.1.0-CentOS-64bit-all.tar.gz包。 [root@db1 openGauss]# tar -zxvf openGauss-1.1.0-CentOS-64bit-all.tar.gz 再先解压openGauss-1.1.0-CentOS-64bit-om.tar.gz包。 [root@db1 openGauss]# tar -zxvf openGauss-1.1.0-CentOS-64bit-om.tar.gz 解压后如下,用ls命令查看如下: [root@db1 openGauss]# ls clusterconfig.xml openGauss-Package-bak_392c0438.tar.gz lib script openGauss-1.1.0- CentOS-64bit-all.tar.gz simpleInstall openGauss-1.1.0- CentOS-64bit-om.sha256 upgrade_sql.sha256 openGauss-1.1.0- CentOS-64bit-om.tar.gz upgrade_sql.tar.gz openGauss-1.1.0-CentOS-64bit.sha256 version.cfg openGauss-1.1.0-CentOS-64bit.tar.bz2 安装包解压后,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs_preinstall等各种OM工具脚本。 更改权限。 [root@db1 openGauss]# chmod 755 -R /opt/software [root@db1 openGauss]# 3:执行初始化脚本。 [root@db1 openGauss]# cd /opt/software/openGauss/script [root@db1 script]# python3 gs_preinstall -U omm -G dbgrp -X Parsing the configuration file. Successfully parsed the configuration file. Installing the tools on the local node. Are you sure you want to create trust for root (yes/no)? yes Please enter password for root. Password: Creating SSH trust for the root permission user. Checking network information. ……………………………………… Are you sure you want to create the user[omm] and create trust for it Please enter password for cluster user. Password: Please enter password for cluster user again. Password: Successfully created [omm] user on all nodes. Preparing SSH service. Successfully prepared SSH service. ……………………………………… Successfully set finish flag. Preinstallation succeeded. 期间需要输入操作系统root用户的密码(如密码:openGauss@123)和创建操作系统omm用户及设置密码(如密码:openGauss@123)。密码依然不回显,直接输入密码并回车即可。 当返回Preinstallation succeeded内容时,表明初始化完成。 4:初始化数据库。 用init 6 重启下虚拟机(主要是为了释放一些内存资源)。 [root@db1 script]# init 6 Connection closing…Socket close. Connection closed by foreign host. Disconnected from remote host(ONE) at 10:51:59. Type `help’ to learn how to use Xshell prompt. 过段时间虚拟机重启好后,再次使用SSH工具(我用的PuTTy)从本地电脑通过配置enp0s3网卡的IP地址(ifconfig指令)(我是192.168.56.101)来连接虚拟机,并使用ROOT用户来登录,然后接着以下操作。 先更新下权限。 [root@db1 script]# chmod 755 -R /opt/software [root@db1 openGauss]# 然后使用omm用户进行数据库初始化。 注意:根据用户实际内存大小设置对应的共享内存的大小,如果对该参数进行了设置,会在数据库启动时候报错,本实验虚拟机总内存大小是2G。 gs_install -X /opt/software/openGauss/clusterconfig.xml 具体如下: [root@db1 openGauss]# su - omm Last login: Thu Sep 10 15:26:21 CST 2020 on pts/0 [omm@db1 ~]$ cd /opt/software/openGauss/script [omm@db1 script]$ gs_install -X /opt/software/openGauss/clusterconfig.xml Parsing the configuration file. Check preinstall on every node. Successfully checked preinstall on every node. Creating the backup directory. Successfully created the backup directory. begin deploy… Installing the cluster. begin prepare Install Cluster… Checking the installation environment on all nodes. begin install Cluster… Installing applications on all nodes. Successfully installed APP. begin init Instance… encrypt cipher and rand files for database. Please enter password for database: Please repeat for database: begin to create CA cert files The sslcert will be generated in /opt/gaussdb/app/share/sslcert/om Cluster installation is completed. Configuring. …………………………. Successfully started cluster. Successfully installed application. end deploy… 注意:输入omm用户密码时,不要输入错误(如密码:openGauss@123)。 结果: 5:清理软件安装包。 [omm@db1 openGauss]$ exit logout [root@db1 script]# cd /opt/software/openGauss/ [root@db1 openGauss]# ll total 288M -rwxr-xr-x. 1 omm dbgrp 1334 Jan 11 11:15 clusterconfig.xml drwxr-xr-x. 15 root root 4096 Jan 11 11:14 lib -rwxr-xr-x. 1 root root 99521627 Dec 31 20:58 -rwxr-xr-x. 1 root root 65 Dec 31 20:41 openGauss-1.1.0-CentOS-64bit-om.sha256 -rwxr-xr-x. 1 root root 13446137 Dec 31 20:41 -rwxr-xr-x. 1 root root 65 Dec 31 20:40 openGauss-1.1.0-CentOS-64bit.sha256 -rwxr-xr-x. 1 root root 87084796 Dec 31 20:40 -rwxr-xr-x. 1 root root 100584223 Jan 11 11:14 drwxr-xr-x. 6 root root 4096 Dec 31 20:41 script drwxr-xr-x. 2 root root 115 Dec 31 20:41 simpleInstall -rwxr-xr-x. 1 root root 65 Dec 31 20:40 upgrade_sql.sha256 -rwxr-xr-x. 1 root root 134579 Dec 31 20:40 upgrade_sql.tar.gz -rwxr-xr-x. 1 root root 32 Dec 31 20:40 version.cfg [root@db1 openGauss]# rm -rf openGauss-1.1.0-CentOS-64bit-all.tar.gz [root@db1 openGauss]# rm -rf openGauss-1.1.0-CentOS-64bit-om.tar.gz 数据库安装结束。 结果:
结果:
结果:
结果:
结果:
创建完db_tpcc数据库后,就可以按如下方法退出postgres数据库,使用新用户连接到此数据库执行接下来的创建表等操作。当然,也可以选择继续在默认的postgres数据库下做后续的体验。 退出postgres数据库。 postgres=# \q 使用新用户连接到此数据库。 [omm@ecs-c9bf ~]$ gsql -d db_tpcc -p 26000 -U joe -W Bigdata@123 -r 当结果显示为如下信息,则表示连接成功 gsql ((openGauss 1.1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit Type “help” for help. db_tpcc=> 结果:
结果:
结果:
结果:
三、通过jdbc连接使用数据库 1.1环境: 主机(客户端)windows10,虚拟机(服务端)centos 7.8 语言java(JavaSE-13),IDE:Eclipse 1.2使用过程 1.首先加载jdbc驱动从网上下(叫openGauss-1.1.0-JDBC.tar)下下来解压,在eclipse里新建一个项目,创建一个lib文件夹,把刚刚解压的文件复制到lib文件夹下,然后 右击 项目名,依次点击 Build Path > Configure Build Path… 选中 Libraries,点击右边的按钮 add JARs… 选中复制到项目中的jar包 最后点击 Apply and Close 即可 结果如图:
gs_guc set -I all -c “listen_addresses=‘10.0.3.15’” gs_guc set -I all -c “port=‘26000’” 我选的enp0s8中的ip地址 端口为26000
gs_guc set -N all -I all -h “host all jack 169.254.54.211/32 sha256” 其中的ip地址为主机的IP
//DBtest.java //演示基于JDBC开发的主要步骤,会涉及创建数据库、创建表、插入数据等。 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; import java.sql.CallableStatement; public class DBTest { //创建数据库连接。 public static Connection GetConnection(String username, String passwd) { String driver = “org.postgresql.Driver”; String sourceURL = “jdbc:postgresql://10.0.3.15:26000/postgres”; Connection conn = null; try { //加载数据库驱动。 Class.forName(driver).newInstance(); } 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; }; //执行普通SQL语句,创建customer_t1表。 public static void CreateTable(Connection conn) { Statement stmt = null; try { stmt = conn.createStatement(); //执行普通SQL语句。 int rc = stmt .executeUpdate(“CREATE TABLE customer_t1(c_customer_sk INTEGER, c_customer_name stmt.close(); } catch (SQLException e) { if (stmt != null) { try { stmt.close(); } catch (SQLException e1) { e1.printStackTrace(); e.printStackTrace(); //执行预处理语句,批量插入数据。 public static void BatchInsertData(Connection conn) { PreparedStatement pst = null; try { //生成预处理语句。 pst = conn.prepareStatement(“INSERT INTO customer_t1 VALUES (?,?)”); for (int i = 0; i < 3; i++) { //添加参数。 pst.setInt(1, i); pst.setString(2, "data " + i); pst.addBatch(); } //执行批处理。 pst.executeBatch(); pst.close(); } catch (SQLException e) { if (pst != null) { try { pst.close(); } catch (SQLException e1) { e1.printStackTrace(); e.printStackTrace(); //执行预编译语句,更新数据。 public static void ExecPreparedSQL(Connection conn) { PreparedStatement pstmt = null; try { pstmt = conn .prepareStatement(“UPDATE customer_t1 SET c_customer_name = ? WHERE pstmt.setString(1, “new Data”); int rowcount = pstmt.executeUpdate(); pstmt.close(); } catch (SQLException e) { if (pstmt != null) { try { pstmt.close(); } catch (SQLException e1) { e1.printStackTrace(); e.printStackTrace(); /** * 主程序,逐步调用各静态方法。 * @param args */ public static void main(String[] args) { //创建数据库连接。 Connection conn = GetConnection(“jack”, “Test@123”); //创建表。 CreateTable(conn); //批插数据。 BatchInsertData(conn); //执行预编译语句,更新数据。 ExecPreparedSQL(conn); //关闭数据库连接。 try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } 5运行程序 结果: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:28:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |