在ARM架构的欧拉操作系统上编译安装MySQL 8.4.2
创作时间:
作者:
@小白创作中心
在ARM架构的欧拉操作系统上编译安装MySQL 8.4.2
引用
CSDN
1.
https://m.blog.csdn.net/dqchouyang/article/details/145117023
本文将详细介绍如何在欧拉操作系统(openEuler 22.03 LTS-SP4)的ARM架构下,从源码编译安装MySQL 8.4.2。文章将涵盖环境检查、依赖下载、编译安装等步骤,并提供具体的命令行操作示例。
环境检查
首先,确认当前操作系统版本和CPU架构:
cat /etc/os-release
# 输出示例
NAME="openEuler"
VERSION="22.03 (LTS-SP4)"
uname -i
# 输出示例
aarch64
下载所需软件包
MySQL源码下载
访问MySQL官方下载页面:https://downloads.mysql.com/archives/community/,选择源码包进行下载。如果浏览器下载速度较慢,可以使用命令行下载:
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.2.tar.gz
Boost库下载
MySQL编译需要Boost库,可以从https://www.boost.org/users/download/下载最新版本。当前最新版本为1.87.0,下载命令如下:
wget https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.gz
检查编译工具版本
GCC版本检查
gcc --version
# 输出示例
gcc (GCC) 10.3.1
GCC 10.3.1版本足以支持MySQL 8.4.2的编译。
CMake版本检查
cmake --version
# 输出示例
cmake version 3.22.0
CMake 3.22.0版本也满足MySQL 8.4.2的编译需求。
安装MySQL
建议将源码目录、编译目录和安装目录分开,避免混淆导致的编译错误。
目录结构如下:
/export/servers/
├── mysql-8.4.2 # 安装目录
└── mysql_package # 源码文件夹
├── boost_1_87_0 # 依赖的boost,解压后的文件夹
├── mysql-8.4.2 # 源码目录
├── build # 源码内的编译目录(手动创建)
解压MySQL源码包并进入编译目录:
cd /export/servers/mysql_package/mysql-8.4.2/build
执行CMake配置:
cmake3 -DCMAKE_INSTALL_PREFIX=/export/servers/mysql-8.4.2 \ # 安装目录
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULTCOLLATION=utf8mb4_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_BOOST=/export/servers/mysql_package \ # boost的上级目录
-DCMAKE_C_COMPILER=/usr/bin/gcc \ # gcc的绝对路径
-DCMAKE_CXX_COMPILER=/usr/bin/g++ \ # g++的绝对路径
-DFORCE_INSOURCE_BUILD=1
编译MySQL源码:
make -j64 # 并行编译,根据CPU核心数调整并发数
安装MySQL:
make install # 复制文件到安装目录
安装成功后,会看到类似以下的输出:
...
-- Installing: /export/servers/mysql-8.4.2/man/man1/mysqld_multi.1
-- Installing: /export/servers/mysql-8.4.2/man/man1/mysqld_safe.1
-- Installing: /export/servers/mysql-8.4.2/man/man8/mysqld.8
-- Installing: /export/servers/mysql-8.4.2/man/man1/mysqlrouter.1
-- Installing: /export/servers/mysql-8.4.2/man/man1/mysqlrouter_passwd.1
-- Installing: /export/servers/mysql-8.4.2/man/man1/mysqlrouter_plugin_info.1
后续步骤
完成上述步骤后,还需要创建MySQL系统用户、配置my.cnf文件、启动MySQL服务、创建用户和授权等操作。这些步骤的具体实现可以参考MySQL官方文档或相关技术资料。
常见问题
如果在安装过程中遇到类似以下的错误:
make install
...
-- Installing: /export/servers/mysql-8.4.2/lib/libmysqlclient.a
-- Installing: /export/servers/mysql-8.4.2/lib/plugin/daemon_example.ini
CMake Error at plugin/group_replication/cmake_install.cmake:52 (file):
file INSTALL cannot find
"/export/servers/mysql-8.4.2/plugin_output_directory/group_replication.so":
No such file or directory.
Call Stack (most recent call first):
cmake_install.cmake:97 (include)
这通常是由于源码目录和编译目录混淆导致的。确保按照推荐的目录结构进行操作,并在执行CMake时不要在命令末尾添加.。
热门推荐
以前没有计算机以及办公软件的时代怎么写毕业论文
功能安全之故障 (fault),错误 (error),失效 (failure)
住房公积金的提取是怎样规定的
什么是风热感冒?风热感冒和风寒感冒的区别是什么?
风热感冒的主要症状及治疗原则是什么
ISFJ人格类型的特点、家庭与职场角色及其他特质
机器人视觉识别方法及技术分析
人工智能的可解释性:从黑箱到透明
关系型数据库入门:基本概念与完整性约束
货车保险费用全解析:交强险、车损险、三者险怎么买?
中医学和中西医临床医学哪个专业好?二者之间有啥区别?
Emo 甚麼 意思?
无锡地铁5号线盾构机下穿千年伯渎河
录取分数线持续走高,中医药高校为何受青睐
华为HCIE和思科CCIE,哪家强?一线网工的真实感受
圆锥滚子轴承烧伤原因分析与诊断技巧
战略对齐:如何确保项目组合与企业目标一致
最近失眠多梦胡思乱想怎么办
事业单位工勤岗编制人员是按干部身份还是工人身份办理退休?
多项式时间(Polynomial Time):算法的时间复杂度详解
袁术和袁世凯,都做过皇帝,但是为什么不被历史承认?
如何正确串联电池以提高设备续航能力?这种串联方法对设备性能有何影响?
揭秘动力电池组的神秘组合方式
陈皮泡久了会苦是正常的吗
高考历史:近代资本主义发展历程的挑战与变迁练习
肋眼,西冷,菲力牛排的区别
搬家选吉日有标准,如何选定最佳搬家时刻?
货币基金与银行理财产品的区别
24色卡,光源反射率评测标准
被ETF“抬上”股价巅峰?寒武纪股价暴涨十倍,业绩连亏七年