Linux 7 x86平台上安装达梦8数据库

1、环境描述

在这里插入图片描述

2、安装前准备

2.1 操作系统信息调研

Linux平台需要通过命令查看操作系统版本、位数、磁盘空间、内存等信息。
CPU信息

[root@ray1 ~]# cat /proc/cpuinfo | grep -E "physical id|core id|cpu cores|siblings|cpu MHz|model name|cache size"|tail -n 7
model name      : AMD Ryzen 9 7945HX with Radeon Graphics
cpu MHz         : 2495.312
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2

操作系统位数

[root@ray1 ~]# getconf LONG_BIT
64

内核版本

[root@ray1 ~]# cat /proc/version
Linux version 3.10.0-1127.el7.x86_64 (mockbuild@x86-034.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Feb 18 16:39:12 EST 2020

操作系统版本

[root@ray1 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.8 (Maipo)
[root@ray1 ~]# 
[root@ray1 ~]# uname -a
Linux ray1 3.10.0-1127.el7.x86_64 #1 SMP Tue Feb 18 16:39:12 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

内存信息

[root@ray1 ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:              3           0           3           0           0           3
Swap:             3           0           3

磁盘信息

[root@ray1 ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                 tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                 tmpfs     2.0G   13M  2.0G   1% /run
tmpfs                 tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs        46G  3.9G   42G   9% /
/dev/sda1             xfs       997M  170M  828M  18% /boot
tmpfs                 tmpfs     394M     0  394M   0% /run/user/0

网卡信息

[root@ray1 ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.1  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::8e68:33f4:c4a:b8bf  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:3a:5f:91  txqueuelen 1000  (Ethernet)
        RX packets 1035  bytes 115699 (112.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 594  bytes 98878 (96.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 68  bytes 5448 (5.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 68  bytes 5448 (5.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:bb:76:33  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0-nic: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 52:54:00:bb:76:33  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2.2 下载达梦数据库安装介质

可通过达梦官网根据操作系统类型、版本、CPU等信息下载相应版本的数据库安装介质。达梦官网下载链接为:https://eco.dameng.com/download/。

2.3 操作系统配置

2.3.1 配置主机名

[root@ray1 ~]# hostnamectl set-hostname ray1
[root@ray1 ~]# vi /etc/hosts
添加:
192.168.0.1 ray1

2.3.2 关闭防火墙

[root@ray1 ~]# systemctl stop firewalld
[root@ray1 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@ray1 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2024-08-14 14:35:51 CST; 7s ago
     Docs: man:firewalld(1)
  Process: 876 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 876 (code=exited, status=0/SUCCESS)
Aug 14 13:54:33 ray1 systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 14 13:54:34 ray1 systemd[1]: Started firewalld - dynamic firewall daemon.
Aug 14 14:35:51 ray1 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Aug 14 14:35:51 ray1 systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@ray1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@ray1 ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@ray1 ~]# getenforce 
Enforcing
[root@ray1 ~]# setenforce 0
[root@ray1 ~]# getenforce 
Permissive

2.3.3 关闭操作系统Transparent Huge Pages

[root@ray1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@ray1 ~]# echo "[vm]">>/usr/lib/tuned/throughput-performance/tuned.conf
[root@ray1 ~]# echo "transparent_hugepages=never">>/usr/lib/tuned/throughput-performance/tuned.conf

重启操作系统后验证:

[root@ray1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

2.3.4 更改磁盘调度算法

Linux 6 上的默认磁盘调度算法为CFQ(完全公平排队I/O调度算法),该算法的I/O分配是基于进程/线程平均分配的,并不适用于数据库这样希望大部分I/O都应用到数据库进程的系统。DEADLINE算法(截止时间调度)确保一个截止时间内服务请求,更适用与数据库系统。但是LINUX 7已经将默认的磁盘调度算法更改为DEADLINE。查看磁盘的调度算法:

[root@ray1 ~]# cat /sys/block/sda/queue/scheduler 
noop [deadline] cfq

若调度算法为cfq,需要更改为deadline,可通过如下命令:

[root@ray1 ~]# echo "deadline" > noop anticipatory deadline [cfq]

2.3.5 关闭NUMA

NUMA(Non-Uniform Memory Access)架构是为了解决多CPU下内存访问冲突,简单来说不在将整个物理内存作为一个整体,而是根据不同的CPU区分不同的内存块,如2颗CPU每颗CPU使用64G内存。当NUMA参数zone_reclaim_mode在设置为1时,内核将要求多路CPU 尽量从距离较近的系统内存节点(服务器的整体内存在numa架构下将被分成若干个节点)分配内存而不是在整个服务器可访问内存的范围内进行内存分配,因此在较高内存占用压力下内存申请会触发内存频繁回收整理的机制严重影响了系统整体性能(长期处于内核态sys很高)。进而可能导致SQL卡顿问题的发生。
查看NUMA是否启用:

[root@ray1 ~]# dmesg|grep -i numa
[    0.000000] NUMA: Node 0 [mem 0x00000000-0x0009ffff] + [mem 0x00100000-0x7fffffff] -> [mem 0x00000000-0x7fffffff]
#NUMA:Node 0表示NUMA已启用

关闭NUMA:
1、修改grub文件

[root@ray1 ~]# vi /etc/default/grub

在这里插入图片描述
2、重建grub文件

[root@ray1 ~]# grub2-mkconfig -o /etc/grub2.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-5df2d14ceffd4a389d53b7508bc2bb0e
Found initrd image: /boot/initramfs-0-rescue-5df2d14ceffd4a389d53b7508bc2bb0e.img
done

3、重启操作系统后检查numa状态

[root@ray1 ~]# dmesg | grep -i numa
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet numa=off
[    0.000000] NUMA turned off
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quietnuma=off
[root@ray1 ~]# cat /proc/cmdline 
BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet numa=off

2.3.6 创建用户组和用户

[root@ray1 ~]# groupadd dinstall -g 2001
[root@ray1 ~]# useradd  -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
[root@ray1 ~]# passwd dmdba
Changing password for user dmdba.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

2.4 配置内核参数

[root@ray1 ~]# vi /etc/security/limits.conf
添加:
dmdba  soft      nice       0
dmdba  hard      nice       0
dmdba  soft      as         unlimited
dmdba  hard      as         unlimited
dmdba  soft      fsize      unlimited
dmdba  hard      fsize      unlimited
dmdba  soft      nproc      65536
dmdba  hard      nproc      65536
dmdba  soft      nofile     65536
dmdba  hard      nofile     65536
dmdba  soft      core       unlimited
dmdba  hard      core       unlimited
dmdba  soft      data       unlimited
dmdba  hard      data       unlimited

重启后验证:

[root@ray1 ~]# su - dmdba
Last login: Wed Aug 14 15:16:38 CST 2024 on pts/0
[dmdba@ray1 ~]$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 15594
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65536
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

2.5 创建目录并赋权

  • 数据库软件安装目录:/dmdba/dmrdbms
  • 实例保存目录:/dmdba/data
  • 归档保存目录:/dmdba/arch
  • 备份保存目录:/dmdba/dmbak
[root@ray1 ~]# mkdir -p /dmdba/dmrdbms
[root@ray1 ~]# mkdir -p /dmdba/data
[root@ray1 ~]# mkdir -p /dmdba/arch
[root@ray1 ~]# mkdir -p /dmdba/dmbak
[root@ray1 ~]# chown -R dmdba:dinstall /dmdba
[root@ray1 ~]# chmod -R 775 /dmdba

2.6 挂载镜像

将下载好的达梦数据库安装介质传输至服务器,并解压.zip文件。

[root@ray1 ~]# cd /soft/
[root@ray1 soft]# ll
total 1060656
-rw-r--r-- 1 root root 1086108981 Aug 14 12:52 dm8_20240712_x86_rh7_64.zip
[root@ray1 soft]# unzip dm8_20240712_x86_rh7_64.zip 
Archive:  dm8_20240712_x86_rh7_64.zip
  inflating: dm8_20240712_x86_rh7_64.README  
  inflating: dm8_20240712_x86_rh7_64.iso  
  inflating: dm8_20240712_x86_rh7_64.iso_SHA256.txt  
[root@ray1 soft]# ll
total 2138612
-rw-r--r-- 1 root root 1103818752 Jul 26 17:36 dm8_20240712_x86_rh7_64.iso
-rw-r--r-- 1 root root        100 Jul 26 17:37 dm8_20240712_x86_rh7_64.iso_SHA256.txt
-rw-r--r-- 1 root root        240 Jul 26 17:36 dm8_20240712_x86_rh7_64.README
-rw-r--r-- 1 root root 1086108981 Aug 14 12:52 dm8_20240712_x86_rh7_64.zip

将ISO文件挂载至光驱

[root@ray1 soft]# mount -o loop dm8_20240712_x86_rh7_64.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[root@ray1 soft]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                 tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                 tmpfs     2.0G   12M  2.0G   1% /run
tmpfs                 tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs        46G  5.9G   40G  14% /
/dev/sda1             xfs       997M  170M  828M  18% /boot
tmpfs                 tmpfs     394M     0  394M   0% /run/user/0
/dev/loop0            iso9660   1.1G  1.1G     0 100% /mnt

3、 数据库软件安装

3.1 图形界面安装

[dmdba@ray1 ~]$ export DISPLAY=192.168.0.201:0.0
[dmdba@ray1 ~]$ cd /mnt/
[dmdba@ray1 mnt]$ ./DMInstall.bin 
Extract install files.........

在这里插入图片描述
选择需要的语言、时区,点击确定。
在这里插入图片描述

点击下一步。
在这里插入图片描述

接受许可协议,点击下一步。
在这里插入图片描述

选择key文件路径,点击下一步。
在这里插入图片描述

选择【典型安装】,点击下一步。
在这里插入图片描述

输入达梦数据库软件安装目录,点击下一步。
在这里插入图片描述

点击确定、下一步。
在这里插入图片描述

再次确认各项配置、所需资源等,确认无误点击安装。
在这里插入图片描述

等待安装结束。
在这里插入图片描述
以root用户运行脚本,运行完成后点击确定。

[root@ray1 ~]# /dmdba/dmrdbms/script/root/root_installer.sh
移动 /dmdba/dmrdbms/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务

在这里插入图片描述
点击完成。

3.2 配置环境变量

切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。

[root@ray1 ~]# vi /home/dmdba/.bash_profile
添加:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dmdba/dmrdbms/bin"
export DM_HOME="/dmdba/dmrdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
[root@ray1 ~]# su - dmdba
Last login: Wed Aug 14 15:35:08 CST 2024 on pts/0
[dmdba@ray1 ~]$ source .bash_profile

3.3 图形界面初始化数据库实例

[root@ray1 ~]# su - dmdba
Last login: Wed Aug 14 15:48:02 CST 2024 on pts/1
[dmdba@ray1 ~]$ export DISPLAY=192.168.0.201:0.0
[dmdba@ray1 ~]$ cd $DM_HOME/tool
[dmdba@ray1 tool]$ ./dbca.sh

在这里插入图片描述
选择创建数据库实例,点击开始。
在这里插入图片描述
选择一般用途、自动调整数据库性能参数、高性能,点击下一步。
在这里插入图片描述
选择数据库事先规划的数据库实例目录,点击下一步。
在这里插入图片描述
按需填入数据库名、实例名、端口号、是否需要路径拼接数据库名。点击下一步。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按需输入数据库各类文件路径、名称等,点击下一步。
在这里插入图片描述
在这里插入图片描述
按需设置簇大小、页大小、日志文件大小、字符集、大小写敏感等相关参数,点击下一步。
在这里插入图片描述
配置数据库口令,点击下一步。
在这里插入图片描述
是否要创建示例数据库,点击下一步。
在这里插入图片描述
再次确认数据库各项信息,点击完成。
在这里插入图片描述
等待数据库创建完成。
在这里插入图片描述
以root用户执行脚本,运行完成后点击确定。

[root@ray1 ~]# mv /dmdba/dmrdbms/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
[root@ray1 ~]# systemctl enable DmServiceDMSERVER.service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
[root@ray1 ~]# systemctl start DmServiceDMSERVER.service

在这里插入图片描述
脚本已经执行完成,点击是。
在这里插入图片描述
点击确定。
在这里插入图片描述
root用户执行脚本,重启数据库服务。

[root@ray1 ~]# systemctl restart DmServiceDMSERVER.service

在这里插入图片描述
脚本执行完成后点击是。
在这里插入图片描述
数据库创建完成,点击完成。
在这里插入图片描述

3.4 图形界面注册数据库实例服务

通过dbca图形界面完成的初始化数据库实例,数据库实例服务会自动注册,无需单独执行注册数据库实例服务步骤。

至此,DM8数据库在RHEL7.8 x86 64bit上安装完成。

关于数据库连接、启停以及其他日常运维操作,参考其他篇博客,感谢关注。

更多内容请参考:https://eco.dameng.com

### 回答1: 要在Linux安装达梦数据库8 CPU平台,首先需要确保系统满足安装要求。达梦数据库的最低要求是Linux操作系统(如CentOS或Ubuntu)以及达梦支持的CPU平台。 首先,我们需要在Linux上下载达梦数据库8的安装包。可以从达梦官方网站上获得最新版本的安装包。将安装包下载到本地目录,例如/home/user/目录下。 接下来,打开终端,使用root权限登录Linux系统。 在终端中,切换到安装包所在的目录。使用cd命令进入/home/user/目录。 解压安装包。运行以下命令: tar zxvf dameng64.rpm.tar.gz 解压后会生成一个.dameng子目录,在该目录下还有一个安装包。 切换到.dameng目录下。运行以下命令: cd .dameng 运行安装命令。根据您所下载的安装包类型,可以运行以下命令: 对于RPM包: rpm -ivh dameng-linux-cpu-x64-8.X.X-XXX.rpm 对于DEB包: dpkg -i dameng-linux-cpu-x64-8.X.X-XXX.deb 等待安装完成。安装完成后,可以通过以下命令启动达梦数据库服务: service DAServer start 运行该命令后,达梦数据库将会启动,并监听默认的端口。 为了连接到达梦数据库,您可以使用达梦提供的客户端工具,如DMSQL或DM JDBC驱动。将这些工具配置到您的开发环境中,即可通过连接字符串连接到达梦数据库8 CPU平台。 总结:要在Linux安装达梦数据库8 CPU平台,需要下载安装包,并根据安装包的类型运行相应的安装命令。安装成功后,启动达梦数据库服务,并使用达梦提供的客户端工具连接到数据库。注意,以上步骤仅适用于达梦数据库8 CPU平台安装,其他版本可能会有所不同。 ### 回答2: 要在Linux安装达梦数据库8,首先需要确保Linux系统满足达梦数据库8的硬件和软件要求。目前,达梦数据库8支持x86-64平台,因此需要检查Linux系统是否是64位版本。 首先,确认Linux系统是否已经安装了必要的依赖包,如gcc、glibc、libstdc++等。可以使用以下命令来检查这些依赖包是否已安装: ```shell rpm -qa gcc glibc libstdc++ ``` 接下来,下载达梦数据库8的安装包,并将其复制到Linux服务器的合适位置。然后解压缩安装包。可以使用以下命令解压缩: ```shell tar xvf dmdbms8.tar.gz ``` 进入解压后的目录,运行安装脚本进行安装。可以使用以下命令运行安装脚本: ```shell cd dmdbms8 ./install.sh ``` 安装脚本将会询问一些安装选项,如安装路径、数据库实例名等。按照实际需求进行设置。安装完成后,可以使用以下命令检查安装是否成功: ```shell ps -ef | grep dbmgr ``` 如果能看到类似`dbmgr -d dbname`的进程,则表示安装成功。 接下来,可以通过连接数据库实例进行使用和管理了。可以使用达梦数据库提供的客户端工具,如dmmysql、dmisql等。例如,使用以下命令连接到数据库实例: ```shell dmmysql -h hostname -P port -u username -p ``` 其中,`hostname`是数据库所在的服务器主机名或IP地址,`port`是数据库监听端口号,`username`是数据库用户名,`-p`表示需要输入密码进行认证。 以上就是在Linux安装达梦数据库8的一般步骤。具体安装过程可能因系统版本和配置而有所差异,建议在安装前参考达梦数据库8的官方文档和安装指南。 ### 回答3: 要在Linux安装达梦数据库8(DM8)在CPU平台上,你需要按照以下步骤进行操作: 1. 安装Linux操作系统:首先,从官方网站下载适合你的CPU平台Linux发行版,并按照它们的文档进行安装。 2. 下载和解压DM8软件包:然后,从达梦官方网站下载适合你的CPU平台的DM8安装软件包。将下载的软件包解压到你选择的目录中。 3. 配置环境变量:打开终端,并编辑你的bash配置文件(如:~/.bashrc)。将DM8软件包中的bin目录路径添加到PATH环境变量中,以便你可以在任何位置访问到DM8命令。 4. 创建安装目录:在其中一个合适的位置创建达梦数据库安装目录,并确保你有足够的权限来在此目录下进行安装。 5. 运行安装程序:根据官方文档提供的指引,使用终端进入到DM8软件包解压目录,并执行安装程序文件。按照安装程序的提示进行数据库安装。 6. 配置和初始化DM8:安装完成后,使用提供的配置工具对DM8进行配置。提供所需的参数,如数据库名称、端口号、字符集等。随后,初始化数据库以确保其正常运行。 7. 启动和测试:使用启动脚本或命令来启动DM8数据库服务。然后,使用客户端工具连接到数据库,并执行简单的查询来测试数据库的正常运行。 请注意,这只是基本的安装步骤。如果你遇到任何问题,应该参考达梦官方提供的文档,并寻求相关技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值