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

张开发
2026/4/14 20:05:44 15 分钟阅读

分享文章

鲲鹏麒麟环境下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 --usermysql --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_stringPASSWORD(新密码) WHERE Userroot; 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 --zonepublic --add-port3306/tcp --permanent firewall-cmd --reload5.2 主从复制配置在鲲鹏环境下配置主从复制时我发现server_id参数必须通过启动参数指定才有效$bindir/mysqld_safe --server-id101这个参数写在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_threads和innodb_write_io_threads参数可以获得更好的I/O性能。

更多文章