(SERIES2) DM8数据库图形化安装

1 安装前准备和数据库安装

  安装前准备(对应SERIES1文章2.3小节)部分在官方教程中不涉及图形化内容,故略;
  数据库(本体)安装(对应SERIES1文章2.4小节)的图形化方式可以完全无脑进行,故也不再赘述。

2 图形化配置实例

2.1 前置知识:X11协议及其实现架构

  本文将从配置实例部分(对应SERIES1文章中2.5小节)开始,论述平行的使用图形化界面执行数据库安装步骤的处理。
  我们已知图形化界面可通过两种方式实现。在软硬件配置较高的Ubuntu服务器上,我们完全可以直接安装KDE/GNOME/XFCE等图形化界面来得到完整的图形化界面支持。但对于配置较低的ECS(没错,就是我的2G RAM + 2核CPU丐版配置),我们有另一种内存资源消耗更少、不占用较多硬盘空间的图形化解决方案,适用于显示少量的、小型的图形化界面,这就是:X11
  X11在Wikipedia(https://en.wikipedia.org/wiki/X_Window_System)的解释中为:X 窗口系统(X11,或简称 X)是用于位图显示的窗口系统,自 1987 年 9 月以来,X 协议一直处于版本 11(因此称为“X11”)。X.Org 基金会领导着 X 项目,当前的参考实现是 X.Org Server,在 MIT 许可证和类似的宽松许可证下作为免费和开源软件提供。
在这里插入图片描述

图1-1 X协议实现架构

  通常情况下,X协议主要提供在系统软硬件资源不足、不能安装资源消耗较大的KDE, GNOME, XFCE等图形化界面的情况下提供少量的、小型的图形化窗口支持。当今X协议的主要实现架构如图1-1所示,对图1-1中词条的解释在以下列表给出:

  • X Protocol:在顶层,所有组件都基于 X 协议进行通信。
  • X ServerX Client:分别处理图形输出和用户输入请求;其中,X Server 是 X Window System 的核心组件,负责图形显示和用户输入管理,通常安装在本地主机上,直接管理显示设备和输入设备X Client发送绘图请求到 X Server,并接收用户输入事件,通常安装在远程服务器上
  • X Free86XFree86 是一个实现 X Server 的开源项目,最初是为 Intel x86 计算机架构开发的;它是 X Server 的一个主要实现,支持多种图形硬件,并包含许多扩展和驱动程序,广泛用于开源社区和各种 Unix 类系统。
  • X.OrgX.Org 是 XFree86 的一个分支项目,后来成为 X Window System 的主要实现。X.Org 基金会负责维护和开发该项目,进行了许多改进和扩展,支持更多的硬件和更好的性能。
  • Xlib:一个底层的 C 语言库,提供与 X Server 通信的 API
  • Qt:一个跨平台的 C++ 工具包,用于开发图形用户界面应用程序,提供了高层次的抽象。
  • KDE:基于 Qt 的桌面环境,提供了完整的桌面用户体验和应用程序集合。
  • GDK/GLib:GDK 是 GTK 的一个底层库,GLib 提供了通用的实用工具函数。
  • GTK:一个用于创建图形用户界面的工具包,基于 GDK 和 GLib,常用于 GNOME 桌面环境。
  • GNOME:基于 GTK 的桌面环境,提供了用户友好的界面和广泛的应用程序支持。
  • X Applications:基于 X 协议和上述工具包或桌面环境开发的具体应用程序,例如文件管理器、文本编辑器和终端模拟器。

  在了解X11协议及其实现架构的基础上,我们就可以着手在本地host和远程服务器上分别布置X Server和X Client客户端。
  本地MacOS端,由开源实现XQuartz的官网https://www.xquartz.org下载XQuartz,作为X Server端实现;在远程Ubuntu端,执行如下命令以安装X Client实现和必要的测试工具:

# 安装X Client实现和必要测试工具
sudo apt-get update
sudo apt-get install x11-apps -y

# 若要建立X协议连接,未来需从XQuartz终端进入,原生terminal不具备X11协议图形支持。
# X协议仍采用SSH工具建立连接,故修改SSH服务配置:
vim /etc/ssh/sshd_config
# 确保以下配置启用:
X11Forwarding yes
X11DisplayOffset 10 # 该参数用于指定X11转发时,设置服务器使用的显示编号的起始偏移量为10
# 保存文件并重启SSH服务:
sudo systemctl restart sshd

  当通过 SSH 连接到远程服务器并启用 X11 转发时,X11DisplayOffset 参数确保远程 X11 应用程序的显示编号不会与本地显示编号冲突;本地 X11 服务器(如 XQuartz 或 Xorg)通常使用显示编号 :0 或其他低编号,这种设置确保远程会话的显示编号将从 10 开始(如 localhost:10.0、localhost:11.0 等),可在XQuartz终端建立连接后用命令echo $DISPLAY查看。
  下一步在MacOS上通过SSH连接并启用X11转发。在 应用程序 > 实用工具 中找到并打开XQuartz终端,使用以下命令连接到服务器并启用X11转发:

ssh -X user@remote_server_ip
# 或者
ssh -Y user@remote_server_ip

  -X和-Y区别在于,-X 启用的 X11 转发是“非信任模式”(untrusted mode)的。这意味着对某些 X11 协议扩展(extensions)的访问受到限制,以提高安全性,防止潜在的恶意 X11 客户端利用这些扩展来攻击本地系统,适用于需要在不完全信任的网络环境中使用的场景,例如通过互联网连接到远程服务器时,能够运行基本的图形应用程序,不需要使用高级 X11 功能;-Y 启用的 X11 转发是“信任模式”,这意味着远程 X11 客户端对本地 X11 服务器具有完全访问权限。这在安全性上存在风险,因为恶意的远程 X11 客户端可以利用这种访问权限进行潜在的攻击,适用于信任的网络环境,例如在受控的企业内部网络中使用能够运行需要使用高级 X11 功能的图形应用程序
  在SSH会话中运行以下命令:

echo $DISPLAY

  如果显示类似 localhost:10.0 的输出,说明 X11 转发已启用。
  在 SSH 会话中运行 xclock(或其他 X11 应用程序):

xclock

  如果 XQuartz 配置正确,你应该会在本地 macOS 上看到额外弹出一个时钟窗口,类似于图1-2的效果。

在这里插入图片描述

图1-2 XQuartz终端验证X11协议转发效果

  成功配置好X Server和X Client后,我们就可以正式开始图形化配置实例的操作。

2.2 使用DBCA(数据库配置助手)配置实例

  按照官方教程,启动图形界面前需要手动放开图形界面权限:

dmdba@iZuf64t2vkq04odhykkugyZ:~$ xhost +
access control disabled, clients can connect from any host
xhost:  must be on local machine to enable or disable access control.

# DISPLAY 环境变量指定 X 客户端应用程序应该连接的 X Server
# 基本格式为hostname:display_number.screen_number
# hostname为运行X Server的主机名或IP地址
# display_number为显示编号,一个主机可以运行多个独立的X Server,每个都有唯一的显示编号
# screen_number为屏幕编号,一个显示可以有多个屏幕
dmdba@iZuf64t2vkq04odhykkugyZ:~$ echo $DISPLAY
localhost:10.0

  检查工作做完后,进入DM安装目录下的tool目录,使用如下命令打开DM数据库配置助手:

dmdba@iZuf64t2vkq04odhykkugyZ:~$ cd /home/dmdba/dmdbms/tool
dmdba@iZuf64t2vkq04odhykkugyZ:~$ ls -l
dmdba@iZuf64t2vkq04odhykkugyZ:~$ ./dbca.sh

  显示X Window图形界面如下图1-3所示:
在这里插入图片描述

图1-3 DBCA配置实例的起始界面

  注意这里不要采用默认路径,而是采用下图1-4中的/dmdata/data作为存储路径。我们在上一篇文章(SERIES1)预先定义的数据库实例存放目录:

在这里插入图片描述

图1-4 DBCA配置实例的数据库目录


  “数据库标识”步骤中,数据库名和实例名默认为DAMENG, DMSERVER,端口号5236(不同实例不能重复,否则会导致端口占用,在DBCA图形化操作指定端口号的过程中会执行冲突检测),这里由于先前已经根据默认字段创建过实例,故需要重新设置数据库标识,对这三个表字段进行更改如下图1-5:

在这里插入图片描述

图1-5 DBCA数据库名和实例名配置


  在图1-5中点击“下一步”程序会执行透明检查端口占用情况,当输入的端口被占用时会提示报错。
  按照官方技术文档,设置数据文件路径如下图1-6,同步骤中的其他路径保持默认配置,包括控制文件、日志文件、初始化日志三项:

在这里插入图片描述

图1-6 DBCA设置数据文件路径


  同样地,设置簇大小32页、页大小32K,并设置字符集为UTF-8。如图1-7所示:

在这里插入图片描述

图1-7 DBCA配置初始化参数


  随后在口令管理步骤使用默认设置、在创建示例库步骤全选两个示例库,最后来到创建摘要步骤;在这里,核对之前设置过的相关参数,显示如图1-7:

在这里插入图片描述

图1-7 DBCA创建摘要


  此时点击“完成”,开始数据库实例的初始化操作;
  如果使用包括root在内的其他用户,而不是dmdba用户进行实例注册,我们会看到如下警示框,这便是之前提到的由于最大打开文件数资源限制未在配置文件中解除导致的;该异常情况的表现举例如图1-8所示:

在这里插入图片描述

图1-8 使用非dmdba用户配置实例的异常情况


  正常情况下,初始化途中会弹出提示框如图1-9,阅读要求可知必须要在完成提示窗口所示操作后点击“确定”关闭对话框并继续初始化过程。

在这里插入图片描述

图1-9 DBCA提示执行注册系统服务配置脚本


  上述脚本意在执行“注册服务”的步骤。在图形化配置方法中,实例的配置和其对应服务的注册必须是紧密相连的、即必须遵循图形化界面的提示在此处就进行服务注册,否则无法推进后续步骤,在此次实验主机上表现出图形化程序卡死等不可控情况;使用图形化界面配置实例、在此处注册服务后,就不必也不能在1.3中重新执行服务注册操作;或者说,只有当“配置实例”步骤中采取命令行方式,才需要在后续“注册服务”步骤中进行命令行 / 图形化注册,图形化注册服务同样会进行透明的重复注册检测,并在检测到重复注册操作时报错。摘出上述脚本内容,有:

mv /home/dmdba/dmdbms/bin/DmServiceDMSERVER_8.service /usr/lib/systemd/system/DmServiceDMSERVER_8.service

systemctl enable DmServiceDMSERVER_8.service
# 执行结果:
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER_8.service → /lib/systemd/system/DmServiceDMSERVER_8.service.

systemctl start DmServiceDMSERVER_8.service

  执行上述脚本后,会有如图1-10、1-11的连续两个提示框;再次根据提示执行:
在这里插入图片描述

图1-10 DBCA提示按照后续规范重启数据库


在这里插入图片描述

图1-11 DBCA提示执行重启服务配置脚本


  摘出上述脚本内容:

systemctl restart DmServiceDMSERVER_8.service

  完成上述所有步骤后,DBCA出具如下图1-12所示的本次数据库实例创建详情,显示本次创建的数据库的名称、对应的实例名、服务名(猜想取决于图1-5所示步骤中是否勾选了“路径拼接数据库名”)等信息,以供二次查验。

在这里插入图片描述

图1-12 DBCA创建实例完成


  此时点击“完成”,即可结束DBCA实例创建过程;点击“继续”,开始循环一个新的DBCA实例创建过程。

Tips:
  在数据库管理系统中,数据库名和实例名是两个不同的概念,尽管它们常常被混淆。了解这两者的区别对于有效管理数据库至关重要。

数据库名(Database Name)

  数据库名是指数据库的逻辑名称。它是用于标识数据库的一种抽象名称。数据库名用于区分同一个实例中不同的数据库。

  • 用途:用于引用和访问特定的数据库。例如,在 SQL 查询中指定要操作的数据库。
  • 范围:同一实例中的数据库名是唯一的,但不同实例中可以有相同的数据库名。
  • 示例:在 Oracle 中,数据库名可以在 CREATE DATABASE 语句中指定。在 MySQL 中,数据库名是在 CREATE DATABASE 语句中指定的。

实例名(Instance Name)

  实例名是指数据库实例的名称。一个数据库实例是数据库管理系统(DBMS)在运行时为数据库提供的进程和内存结构。实例是数据库的具体实现,由系统资源(如内存、进程)组成。

  • 用途:实例名用于标识和管理数据库实例。通常在启动、停止和监控数据库实例时使用。
  • 范围:实例名在同一个物理服务器上是唯一的。不同服务器上可以有相同的实例名。
  • 示例:在 Oracle 中,实例名通常在初始化参数文件(如 init.ora)中指定。在 MySQL 中,实例名通常与数据库名相同,但可以在配置文件中单独指定。

  在DM数据库的实践中,数据库名和实例名默认是不同名的,这一原则可以从上述安装过程中看出来;数据库名实例名服务名作为创建实例中的三个至关重要的字段,需要熟悉后牢记。

3 图形化注册服务

  在命令行注册中,官方要求“注册服务需使用root用户进行注册”。此处在图形化注册中我们依然遵守这一原则;
  首先使用命令行方式创建新的实例DMSERVER_9,过程略;采取同1.2.2的步骤,打开如图1-3所示的DBCA起始界面。不同的是,此次选择“注册数据库服务”项,单击“开始”弹出注册数据库服务页面。在该页面中选择刚才创建的实例的dm.ini配置文件,程序会自动读取并填充位于界面下部的实例名端口数据库目录字段,其中的实例名也可以更改,这里全部采用字段的默认填充内容,如图1-13所示:

在这里插入图片描述

图1-13 注册数据库服务选择配置详情


  点击“完成”,开始创建;图形程序会弹出提示,要求执行配置脚本;如图1-14所示:

在这里插入图片描述

图1-14 DBCA提示执行脚本以注册系统服务


  提取上述执行命令如下:

mv /home/dmdba/dmdbms/bin/DmServiceDMSERVER_9.service /usr/lib/systemd/system/DmServiceDMSERVER_9.service

systemctl enable DmServiceDMSERVER_9.service
# 执行结果:
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER_9.service → /lib/systemd/system/DmServiceDMSERVER_9.service.

systemctl start DmServiceDMSERVER_9.service

  与图形化配置实例过程中连带的注册服务步骤相比,这里不会再出现服务注册后的restart操作要求;DBCA直接出具注册数据库服务的结果详情,如下图1-15所示:

在这里插入图片描述

图1-15 DBCA出具注册数据库服务结果及创建参数


  至此,使用命令行配置实例、图形化界面注册服务的组合完成。

4 图形化启停数据库

  进入DM安装目录下的tool目录,打开DM服务查看器:

cd /home/dmdba/dmdbms/tool
./dmservice.sh

  查看器中能够查看当前所有服务的运行状态,并通过双击服务名称选中某项实例服务,对其采取停止、重启、查看属性等操作,如图1-16所示;

在这里插入图片描述

图1-16 DM服务查看器查看系统服务状态


  查看选中服务属性的图形化显示效果如图1-17;

在这里插入图片描述

图1-17 查看选中服务属性


  由于我们的DMSERVER_9实例是为了演示“命令行配置实例、图形化注册服务”的组合而在root用户环境下创建的,故dmdba用户对该实例服务没有启动和终止权限。当权限不足时,停止选中服务无法执行,会有报错提示如图1-18:

在这里插入图片描述

图1-18 停止选中服务权限不足警示


  至此,图形化启停数据库的基本操作完成。

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值