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

鲲鹏麒麟环境下MySQL5.7离线部署全流程解析

1. 鲲鹏麒麟环境下的MySQL5.7离线部署背景

在国产化技术快速发展的今天,越来越多的企业和机构开始采用基于鲲鹏处理器和麒麟操作系统的解决方案。这种组合在政务、金融等领域尤其常见,因为这些场景对数据安全和系统可控性有着极高的要求。MySQL作为最流行的开源数据库之一,其5.7版本在稳定性和性能方面表现优异,成为许多关键业务系统的首选。

我最近在一个政务云项目中就遇到了这样的需求:需要在完全离线的环境下,在鲲鹏920服务器上部署MySQL5.7。整个过程看似简单,但实际上遇到了不少坑,特别是在国产化环境下的一些特殊处理。下面我就把完整的安装流程和注意事项分享给大家,希望能帮助到有类似需求的同行。

2. 准备工作与环境检查

2.1 硬件与系统要求

首先确认你的服务器是基于鲲鹏ARM架构的,可以通过以下命令查看CPU信息:

cat /proc/cpuinfo | grep 'model name'

输出中应该能看到"Kunpeng"字样。操作系统方面,我使用的是Kylin Linux Advanced Server V10,你也可以用其他基于麒麟的操作系统版本。

2.2 离线安装包获取

由于是离线环境,我们需要提前准备好所有依赖包。MySQL5.7的ARM版本可以从官方或可信的镜像站获取。我使用的安装包是mysql-5.7.27-aarch64.zip,这个版本经过验证可以在鲲鹏920上稳定运行。

重要提示:一定要确认下载的安装包是专门为ARM架构编译的版本,x86版本在鲲鹏处理器上无法运行。我曾经就犯过这个错误,浪费了不少时间排查问题。

2.3 系统环境准备

在开始安装前,建议先检查并安装一些基础依赖:

yum install -y libaio numactl

这些库在MySQL运行时会用到,特别是在ARM架构下,缺少这些依赖可能导致安装失败或运行时异常。

3. MySQL5.7详细安装步骤

3.1 解压与目录准备

将下载的安装包上传到服务器后,执行以下操作:

unzip mysql-5.7.27-aarch64.zip -d /usr/local/ cd /usr/local mv mysql-5.7.27-aarch64 mysql

这里有个小技巧:解压后立即重命名目录,可以避免后续配置中路径过长或包含版本号的问题。

3.2 创建必要目录和用户

MySQL需要特定的数据目录和日志目录,同时为了安全考虑,应该使用专用用户运行:

mkdir -p /usr/local/mysql/{data,logs} groupadd mysql useradd -r -g mysql -s /bin/false mysql chown -R mysql:mysql /usr/local/mysql chmod 755 /usr/local/mysql/bin/*

特别注意:权限设置很关键,太宽松会有安全隐患,太严格又可能导致服务无法正常运行。我建议对bin目录下的可执行文件设置为755,其他目录可以根据实际情况调整。

3.3 初始化数据库

这是最容易出错的环节之一,正确的初始化命令是:

cd /usr/local/mysql ./bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data

初始化完成后,一定要查看日志文件获取root用户的临时密码:

grep 'temporary password' /usr/local/mysql/logs/mysql-error.log

这个密码通常比较复杂,建议记录下来或者直接修改配置跳过密码验证(仅限初次安装)。

4. 配置优化与常见问题解决

4.1 关键配置文件调整

MySQL的配置文件my.cnf需要根据实际环境进行调整。以下是一些关键参数的建议值:

[mysqld] skip-grant-tables # 初次安装时可启用,方便修改密码 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci innodb_buffer_pool_size = 1G # 根据内存大小调整 max_connections = 500

在鲲鹏环境下,我发现特别需要注意innodb_flush_method参数的设置,建议使用O_DIRECT以获得更好的性能。

4.2 服务管理配置

将MySQL设置为系统服务并配置开机自启:

cp support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql chkconfig --add mysql chkconfig mysql on

常见问题:如果启动时报错找不到basedir或datadir,需要检查/etc/init.d/mysql脚本中的路径设置是否正确。

4.3 密码修改与安全设置

首次登录后应立即修改root密码:

UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES;

记得修改完密码后,将my.cnf中的skip-grant-tables参数注释掉,并重启MySQL服务。

5. 高级配置与性能调优

5.1 远程访问配置

如果需要从其他服务器访问,需要执行以下SQL命令:

CREATE USER 'root'@'%' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;

同时别忘了在防火墙中开放3306端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload

5.2 主从复制配置

在鲲鹏环境下配置主从复制时,我发现server_id参数必须通过启动参数指定才有效:

$bindir/mysqld_safe --server-id=101

这个参数写在my.cnf中有时不生效,需要在/etc/init.d/mysql脚本中直接添加。

5.3 性能监控与优化

建议定期检查以下性能指标:

  • 连接数使用情况:SHOW STATUS LIKE 'Threads_connected';
  • 查询缓存命中率:SHOW STATUS LIKE 'Qcache%';
  • InnoDB缓冲池状态:SHOW ENGINE INNODB STATUS;

在鲲鹏ARM架构上,适当调整innodb_read_io_threadsinnodb_write_io_threads参数可以获得更好的I/O性能。

http://www.jsqmd.com/news/641118/

相关文章:

  • AIMP:轻量级音乐播放器解决音频播放与管理的常见问题
  • 告别网盘限速困扰:八大网盘直链下载助手完全指南
  • 告别复制粘贴!深入理解GD32F407的GPIO配置:推挽、开漏、复用AF到底怎么选?
  • AutoCAD字体管理终极指南:FontCenter免费插件完整解决方案
  • 为什么 Multi-Agent 是技术创业者的最大机会
  • STL体积计算器:3D打印模型体积与重量估算完整指南
  • Java SPI实战:从零实现一个可插拔的日志框架(附完整代码)
  • Noto字体:告别豆腐块困扰,打造完美多语言显示体验
  • 告别需求文档焦虑:用Spec-Kit + Claude Code,5分钟搞定你的C++五子棋项目规划
  • 当网盘限速成为日常,这款工具如何让我重获下载自由?
  • 从零到部署:为你的UG/NX二次开发插件制作专业级菜单界面(MenuScript实战指南)
  • 如何在OBS中实现免费本地AI语音识别:LocalVocal完全指南
  • 保姆级教程:在Linux下排查PCIe RootPort Completion Timeout错误(附抓包与日志分析)
  • MogFace人脸检测模型-WebUI实操手册:Linux服务器部署、日志排查、性能调优
  • 揭秘LLaVA-ViL-Flamingo三大主流多模态模型的“黑箱决策路径”:如何用Grad-CAM++与Concept Activation Vector精准定位图文推理漏洞?
  • 【Scala PyTorch深度学习】PyTorch On Scala 系列课程 第五章 10 :数据集【AI Infra 3.0】[PyTorch Scala 硕士研一课程]
  • 告别环境配置焦虑:在Ubuntu 22.04上5分钟搞定ESP-IDF v5.4.2(含永久串口权限设置)
  • 本地化基因ID转换工具开发指南:从NCBI数据到高效pipeline集成
  • WinRAR弹窗广告终极去除指南
  • 告别sasquatch报错:手把手教你用squashfs-tools 4.5+搞定binwalk解压lzma压缩的固件
  • GeoServer进阶指南:多层级TIF地图数据的切片与缓存优化
  • 为什么PPTist是Vue 3开发者的终极在线演示文稿解决方案?
  • 为什么你的ECR变更总出问题?精益生产工程变更的4个核心管控要点
  • M2LOrder模型企业级内网穿透部署方案:安全访问GPU算力
  • 竞品分析方法:从能力矩阵到 TCO 的 Agent 选型模板
  • 手把手教你用Virtuoso和TSMC 180nm PDK搭建环形振荡器(附完整仿真流程)
  • 智能融合GB28181平台:一键接入多品牌摄像头与NVR/DVR的实战指南
  • Modelsim Wave窗口的5个隐藏技巧:让波形调试效率翻倍(附.do文件实战)
  • DICOM坐标系转换实战:从像素空间到解剖空间的精准映射
  • Mac 上 Qt Creator 安装后路径定位与启动疑难解析