news 2026/4/14 20:05:44

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
鲲鹏麒麟环境下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性能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 19:57:34

第二周作业:系统管理相关的操作总结

一、系统信息与基础命令1. 查看系统信息uname -a # 完整系统信息cat /etc/os-release # 发行版信息hostname # 主机名uptime # 运行时间、负载date # 系统时间2. 硬件信息lscpu # CPUfree -h # 内存l…

作者头像 李华
网站建设 2026/4/14 19:57:26

fanuc机器人通过pr寄存器引导焊缝

FANUC 机器人通过 PR 位置寄存器(Position Register) 实现相机引导焊接,核心是:相机算出焊缝偏移 → 数据写入 PR → 程序用 PR 偏移修正原路径。下面从原理、流程、通信、标定、编程到完整示例,详细说明实现方法。 一…

作者头像 李华
网站建设 2026/4/14 19:54:08

多模态大模型融合失效诊断手册:从特征坍缩、梯度冲突到模态偏置,6类根因定位法+自动归因工具链开源

第一章:多模态大模型对齐与融合机制 2026奇点智能技术大会(https://ml-summit.org) 多模态大模型的对齐与融合机制是实现跨模态语义一致性的核心挑战,涉及视觉、语言、音频乃至时序信号等异构表征在统一隐空间中的协同建模。对齐强调不同模态输入在语义…

作者头像 李华