当前位置: 首页 > news >正文

【信创】麒麟v10(arm)-mysql8-mongo-redis-oceanbase

Win10/Win11 借助qume模拟器安装arm64麒麟v10
前言

    近两年的国产化进程一直在推进,基于arm架构的国产系统也在积极发展,这里记录一下基于麒麟v10arm版安装常见数据库的方案。

  麒麟软件介绍: 银河麒麟高级服务器操作系统V10 - 国产操作系统、银河麒麟、中标麒麟、开放麒麟、星光麒麟——麒麟软件官方网站

  arm与x86_64架构存在差异,故无法通过vmware,virtualbox等虚拟机软件直接安装arm版本的麒麟v10,可以通过qume模拟器来模拟。网上方案比较多,这里以win11,qume7.1.0进行演示。

如果不进行OceanBase的安装演示,qume的虚拟硬盘可以少分一点,比如20G,内存8G即可。如果要实验oceanbase 推荐60G以上,内存16G,否则会出现问题。

软件版本一览

宿主机器: win11,32G,Intel11代i7,64位

Qume软件版本: 7.1.0

麒麟v10版本:  4.19.90-24.4.v2101.ky1,aarch64

Mysql 8.0.33-1.el8.aarch64

Redis redis-5.0.5-1.el7.aarch64

Mongo mongo-4.0.6-1.el7.aarch64

Oceanbase oceanbase-all-in-one-4.2.0.0-100120230915135249.el7.aarch64

安装虚拟机

步骤

  1. 镜像获取

银河麒麟v10下载(服务器版 桌面版) - 2022-11-24更新_银河麒麟v10镜像iso下载-CSDN博客

  1. 安装 qume

https://qemu.weilnetz.de/w64/2021/qemu-w64-setup-20210505.exe

直接安装,没有硬性要求

  1. 创建一个虚拟环境

qemu-img create -f qcow2 E:\kylin\kylindisk.qcow2 40G

  1. 安装

注意替换路径

qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios E:\kylin\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=E:\kylin\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=E:\mirror\Kylin-Server-10-SP2-Release-Build09-20210524-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom  -net nic -net user,hostfwd=tcp::2222-:22

  1. 启动(不用指定镜像位置)

qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios E:\kylin\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=E:\kylin\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom  -net nic -net user,hostfwd=tcp::2222-:22

参考文献:

WIN10 x86环境部署ARM虚拟机(银河麒麟)实例_kylin-server-10-sp2-aarch64-release-build09-202105-CSDN博客

https://itas109.blog.csdn.net/article/details/109453945

安装mysql
  1. 安装包获取(可以直接使用提供的)

根据资料与实际测试,发现

8.0.33-1.el8.aarch64 版本最合适,该版本可以直接通过官网获取。

  1. 安装:

实测在模拟环境中,需要以下依赖(可以借助在能连接外网的环境下,使用yundownloader获得)

依次rpm 安装依赖包

然后rpm mysql系列的包

  1. 修改安装包位置

mv -f /var/lib/mysql /data/      -----> 放到本地挂载硬盘中

ln -s  /data/mysql/ /var/lib/mysql

如果遇到权限问题,记得

chown -R mysql:mysql   /data/mysql

  1. 实测arm版本不需要初始化

mysqld --initialize --console

  1. 获取临时密码

grep  'temporary password' /var/log/mysqld.log |awk -F ' root@localhost: ' '{print $2}'

  1. 修改root密码: mysql -uroot -p 输出临时密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '你的密码';

flush privileges;

然后退出重新登录

  1. 创建root@%

Use mysql;

CREATE USER ‘root’@'%' IDENTIFIED WITH mysql_native_password BY ‘你的密码’

GRANT ALL ON *.* TO 'root'@'%';

flush privileges;  

安装mongo
  1. 获取安装包

https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mongo-4.0.6-1.el7.aarch64.rpm

https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mongodb-tools-4.0.6-1.aarch64.rpm

  1. 安装

rpm -ivh mongo-4.0.6-1.el7.aarch64.rpm

rpm -ivh mongodb-tools-4.0.6-1.aarch64.rpm

  1. 配置

vim /etc/mongod.conf

storage:

   dbPath: "/data/mongo" #数据存放位置

systemLog:

   destination: file

   path: "/data/mongo/mongodb.log" #日志存放位置

net:

   bindIp: 0.0.0.0 #对远程连接ip不限制

   port: 27017 #端口号

processManagement:

   fork: true #后台启动

security:

  authorization: enabled

  1. 编辑脚本

 vim /etc/profile.d/mongodb.sh

#mongoDB

export MONGODB_HOME=/usr/local/mongo

export PATH=$PATH:$MONGODB_HOME/bin

  1. source /etc/profile
  1. vim /etc/systemd/system/mongodb.service

[Unit]

Description=mongodb-service

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/mongo/bin/mongod --config /etc/mongod.conf

PrivateTmp=true

[Install]

WantedBy=multi-user.target

systemctl daemon-reload

启动

systemctl start mongodb.service

加入自启动

systemctl enable mongodb.service

安装redis

0 获取安装包

华为开源镜像站_软件开发服务_华为云 arm类别 华为鲲鹏 依次去找,或者直接下载如下地址

wget https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/bigdata/redis-5.0.5-1.el7.aarch64.rpm

  1. 安装

rpm -ivh redis-5.0.5-1.el7.aarch64.rpm

  1. 配置

vim /etc/redis.conf

将bind 127.0.0.1 改成了 bind 0.0.0.0

把6379改成自己想要的端口

启动守护进程

daemonize no 改为 daemonize yes

修改Redis密码

requirepass foobared 改为  requirepass 你的密码

  1. 启动

redis-server /etc/redis.conf

  1. 登录

redis-cli

auth 你的密码

安装OceanBase社区版

0 获取安装包(OceanBase All in One)

https://open.oceanbase.com/softwareCenter/community

选择arm版本

  1. 解压到 /data/oceanbase/oceanbase-all-in-one

mkdir /data/oceanbase

tar -xzf oceanbase-all-in-one.4.0.0.0-beta-100120221102135736.el7.x86_64.tar.gz -C /data/oceanbase

  1. 切换到 /data/oceanbase

执行 ./install.sh

  1. cp mini-local-example.yaml ~

复制配置文件到home路径,且cd ~

/data/oceanbase/oceanbase-all-in-one/obd/usr/obd/example

  1. 按需修改配置
  1. 部署单机版本

obd cluster deploy lo -c mini-local-example.yaml

  1. 启动

obd cluster start lo

  1. 登录

obclient -h127.0.0.1 -P2881 -uroot -Doceanbase

报错及处理方案:

问题1: open files must not be less than 20000

临时:
echo 1048576 > /proc/sys/fs/file-max 和 ulimit -HSn 1048576

永久:

vim /etc/profile

ulimit -HSn 1048576

source /etc/profile

问题2: 卡initial 通常不超过5分钟,如果超过5分钟,请检查资源

一些命令:

obd cluster list 查看集群列表

obd cluster deploy <集群名称>   销毁集群

资料备份

华为信创镜像:

https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/

mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

mkdir /etc/yum.repos.d

echo -e "[kunpeng]\nname=CentOS-kunpeng - Base - mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo

鲲鹏使能:

https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MongoDB/openmind_mangodb3613_03_0025.html

相关文章:

【信创】麒麟v10(arm)-mysql8-mongo-redis-oceanbase

Win10/Win11 借助qume模拟器安装arm64麒麟v10 前言 近两年的国产化进程一直在推进&#xff0c;基于arm架构的国产系统也在积极发展&#xff0c;这里记录一下基于麒麟v10arm版安装常见数据库的方案。 麒麟软件介绍: 银河麒麟高级服务器操作系统V10 - 国产操作系统、银河麒麟、中…...

maven settings.xml文件(包含了配置阿里云镜像)

mac 的 settings.xml 我配置的位置是&#xff1a; /Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/conf/settings.xml 然后 local repository 我配置的位置是&#xff1a; /Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/conf/repos…...

分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测

分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测 目录 分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结…...

Redis是否要分库的实践

Redis的分库其实没有带来任何效率上的提升&#xff0c;只是提供了一个命名空间&#xff0c;而这个命名空间可以完全通过key的设计来避开这个问题。 一个优雅的Redis的key的设计如下...

String 进阶

字符串拼接 // 常量与常量的拼接结果放在常量池 // 常量池中不会存在相同的常量 String str1 "a" "b"; System.out.println(str1 "ab");// 拼接时有一个为变量&#xff0c;则结果会放在堆中。 // 变量拼接的原理是 StringBuilder append 最后…...

ESP32设备通信-两个ESP32间UART通信

两个ESP32间UART通信 文章目录 两个ESP32间UART通信1、UART介绍2、软件准备3、硬件准备4、代码实现在本文中,我们将使用 Arduino IDE 的 UART 硬件库在两个 ESP32 板之间执行 UART 或串行通信。 要使用 USB 端口调试和编程 ESP32,需要使用称为通用异步接收器/发送器 (UART) 通…...

LCR 052.递增顺序搜索树

​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;LCR 052. 递增顺序搜索树 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 中序遍历时修改指针即可。 解题代码&#xff1a; /*** Definition for a binary tree node.* public class TreeNo…...

Mysql集群技术问答

前提&#xff1a;Mysql集群服务部署到一个群组的所有服务器上&#xff0c;一般20台为一个群组&#xff0c;群组内所有节点数据实时同步&#xff0c;动态自动维护节点。 问&#xff1a;集群空间跟传统空间的最大不同是什么&#xff1f; 答&#xff1a;集群空间有数据同步和宕机检…...

2023版 STM32实战4 滴答定时器精准延时

SysTick简介与特性 -1- SysTick属于系统时钟。 -2- SysTick定时器被捆绑在NVIC中。 -3- SysTick可以产生中断,且中断不可屏蔽。 SysTick的时钟源查看 通过时钟树可以看出滴答的时钟最大为72MHZ/89MHZ 通过中文参考手册也可以得到这个结论 代码编写&#xff08;已经验证&a…...

ESP32设备驱动-数据持久化到Flash

数据持久化到Flash 文章目录 数据持久化到Flash1、Preferences库介绍2、软件准备3、硬件准备4、代码实现4.1 初始化NVS Flash4.2 读写Key/Value对4.3 保存/读取网络凭据4.4 复位后记住最后的 GPIO 状态在本文中,我们将介绍如何使用 Preferences库将数据存储到 ESP32 的Flash中…...

Swift data范围截取问题

文章目录 一、截取字符串的几种方法1. 截取前几位2. 截取后几位3. subData4. 下标截取 二、subData(in:) 报错 EXC_BREAKPOINT 一、截取字符串的几种方法 1. 截取前几位 mobileID.prefix(32)2. 截取后几位 mobileID.suffix(3)3. subData data.subdata(in: 0..<4)4. 下标…...

PICO首届XR开发者挑战赛正式启动,助推行业迈入“VR+MR”新阶段

9月25日&#xff0c;“PICO 2023首届XR开发者挑战赛”&#xff08;下文简称“挑战赛”&#xff09;媒体启动会在北京圆满落幕&#xff0c;官方赛事报名通道已于今日开启。据悉&#xff0c;本次挑战赛是PICO首次针对全球开发者举办的大型挑战赛事&#xff0c;旨在与开发者保持连…...

【计算机网络】应用层协议原理

文章目录 网络应用程序体系结构客户-服务器体系结构P2P体系结构 进程通信客户和服务器进程进程与计算机网络之间的接口进程寻址 可供应用程序使用的运输服务可靠数据传输吞吐量定时安全性 因特网提供的运输服务TCP服务面向连接的服务可靠数据传输服务TCP安全 UDP服务因特网运输…...

buuctf-[WUSTCTF2020]CV Maker

打开环境 随便登录注册一下 进入到了profile.php 其他没有什么页面&#xff0c;只能更换头像上传文件&#xff0c;所以猜测是文件上传漏洞 上传一句话木马看看 <?php eval($_POST[a]);?>回显 搜索一下 添加文件头GIF89a。上传php文件 查看页面源代码&#xff0c;看…...

数据库表操作详解

在数据库管理中,表操作是最基础也最常用的一项功能。不论是临时存储一些数据,还是通过派生表进行复杂的查询,表操作的灵活性和多样性都使其在数据库中发挥着重要的作用。 本文将详细解析数据库中常见的表操作,包括临时表、派生表以及与视图、子查询的比较。我们将使用游戏…...

axios配置代理ip

axios配置代理ip 对于在nodejs中使用axios作为请求库时&#xff0c;有需要配置代理ip的需求&#xff08;比如爬虫等等&#xff09; 最离谱的是&#xff0c;在网上搜了一圈&#xff0c;全是关于axios配置proxy跨域的解决办法&#xff0c;没有配置代理ip的方法。 const axios …...

Apache Commons Pool2 池化技术

对象池是一种设计模式&#xff0c;用于管理和重用对象&#xff0c;以提高性能和资源利用率。对象池的概念在许多应用程序中都有广泛应用&#xff0c;特别是在需要频繁创建和销毁对象的情况下&#xff0c;例如数据库连接、线程、HTTP连接等 对象池通过预先创建一组对象并将它们存…...

二叉树的最近公共祖先LCA

系列题目 236. 二叉树的最近公共祖先 1676. 二叉树的最近公共祖先IV 1644. 二叉树的最近公共祖先 II 235. 二叉搜索树的最近公共祖先 1650. 二叉树的最近公共祖先 III class LowestCommonAncestor:"""236. 二叉树的最近公共祖先题目强调p和q一定存在于二叉树中&…...

AWS SAA知识点整理(作成中)

共通 一些信息已经更新了&#xff0c;但参考题的答案还是旧的。 比如&#xff1a; S3的最大读写性能已经提高到 3,500 PUT/COPY/POST/DELETE or 5,500 GET/HEAD requests per second 并且不再要求使用random prefix 题目中有时候会让选择Not violation 不合适的一项&#xff…...

C++模板大全(持续更新,依不同网站整理而成)

C模板大全 基本模板快读快写快读快写火车头缺省源 基本算法暴力枚举模拟贪心二分三分尺取法分治前缀和差分递推递归倍增排序sort冒泡排序桶排序选择排序插入排序希尔排序归并排序快速排序堆排序计数排序基数排序 基础数据结构栈队列哈希链表单向链表双向链表 单调栈单调队列 高…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...