CentOS-AltArch-7(ARM版)下源码编译MySQL5.7.31

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: CentOS-AltArch-7(ARM版)下源码编译MySQL5.7.31

640.png

本文参考华为鲲鹏社区相关文档完成

https://www.huaweicloud.com/kunpeng/

系统为aarch64位的CentOS AltArch系统


1、准备如下cmake gcc相关源码包


cmake


https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz


gcc


https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz


gcc所需的依赖包


https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2

https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2

https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz

https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2


2、配置CentOS-AltArch-7 华为云yum源


cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-AltArch-7.repo
sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache


640.png640.png

3、检查是否有安装cmake


下载cmake源码包

下载地址 https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz

编译cmake


cp /home/cmake-3.9.2.tar.gz /usr/local/src
cd /usr/local/src
tar -zxf cmake-3.9.2.tar.gz
cd cmake-3.9.2
./configure
make && make install


测试cmake是否安装完成 cmake -version

640.png

640.png

640.png

4、升级gcc


640.png

gcc --version
yum install bison* ncurses*
cd /home
tar -zxf gcc-7.3.0.tar.gz
cd gcc-build-7.3.0/
./contrib/download_prerequisites
#下载isl、gmp、mpc、mpfr的依赖包上传至该目录下
cat /proc/cpuinfo| grep "processor"| wc -l #查看当前CPU核心数,make编译时“-j”参数可利用多核CPU加快编译速度
cd /home/gcc-7.3.0
mkdir gcc-build-7.3.0
cd gcc-build-7.3.0
../configure --enable-checking=release --enable-language=c,c++ --disable-multilib --prefix=/usr
make -j1 #只有一核,若有多核,修改为对应核心数加快编译速度
make install


640.png

640.png

640.png

验证gcc是否升级成功


cd /usr/lib64
ll |grep libstdc++.so

640.png

5、源码编译升级MySQL


下载MySQL 5.7.31版本的源码包


yum install openssl-devel.aarch64

640.png

yum install openssl-devel.aarch64


http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

下载补丁文件,并放置到mysql-5.7.x路径下补丁下载路径:https://bugs.mysql.com/file.php?id=28180&bug_id=94699


tar -zxf mysql-boost-5.7.31.tar.gz -C /home 
cd /home
cp 0001-Bug-94699-Mysql-deadlock-and-bugcheck-on-aarch64.patch mysql-5.7.31/
cd mysql-5.7.31/
patch -p1 < 0001-Bug-94699-Mysql-deadlock-and-bugcheck-on-aarch64.patch
vim cmake.sh
#添加如下行
-DWITH_BOOST=的路径为实际boost所在路径
cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/home/mysql-5.7.31/boost/boost_1_59_0/


#若在预编译时出现依赖包不全的情况,可自行查阅资料安装依赖包,并重新预编译。重新预编译前,需要执行rm -rf CMakeCache.txt


640.png


chmod +x cmake.sh
./cmake.sh 
make -j1
make install


640.png640.png

编译安装出现如下报错时的解决方法


cp /usr/include/sys/prctl.h /home/mysql-5.7.31/include/
vi /home/mysql-5.7.31/sql/mysqld.cc 添加如下图所示一行

640.png

640.png

6、编译完成启动并配置MySQL


1、创建mysql用户,MySQL相关目录并修改目录属主


cd /data/
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql mysql
cd mysql
mkdir data run log
bin/mysqld --initialize --basedir=/data/mysql --datadir=/data/mysql/data --user=mysql 
touch /data/mysql/log/mysql.log
touch /data/mysql/run/mysql.pid
chown -R mysql:mysql log run

640.png


2、配置my.cnf配置文件


vi /etc/my.cnf
[mysqld]
datadir=/data/mysql/data/
socket=/data/mysql/mysql.sock
[mysqld_safe]
log-error=/data/mysql/log/mysql.log
pid-file=/data/mysql/run/mysql.pid


3、启动MySQL服务


cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start


4、环境变量配置


vi /etc/profile
export PATH=/data/mysql/bin:$PATH
source /etc/profile


5、登录MySQL,并修改root用户密码以及新建mysql用户


ln -s /data/mysql/mysql.sock /tmp/mysql.sock
mysql -uroot -p
SET PASSWORD = PASSWORD('MySQL@2019');
UPDATE mysql.user SET authentication_string =PASSWORD('MySQL@2019') WHERE User='mysql';
GRANT ALL PRIVILEGES ON *.* TO mysql@localhost IDENTIFIED BY 'MySQL@2019' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO mysql@"%" IDENTIFIED BY 'MySQL@2019' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'MySQL@2019' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'MySQL@2019' WITH GRANT OPTION;

640.png


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 关系型数据库 MySQL
Linux(CentOS6)安装MySQL5.6
Linux(CentOS 6)系统上安装MySQL 5.6版本的详细步骤,包括准备数据存放目录、创建用户、下载安装包、初始化数据库、配置服务脚本、设置环境变量等操作。
142 1
|
2月前
|
关系型数据库 MySQL Java
centos7安装mysql教程及Navicat平替软件
【8月更文挑战第17天】本教程详述CentOS 7上安装MySQL的过程。首先确保移除任何预装的MySQL组件,然后通过wget获取并安装MySQL的YUM源。可以选择安装特定版本如5.7或8.0。安装MySQL服务器后,启动服务并查找初始密码。登录MySQL后应立即更改密码,并可根据需要设置远程访问权限。此外,还推荐使用免费开源的DBeaver作为数据库管理工具,提供了安装步骤以方便管理和操作MySQL数据库。
|
2月前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
158 8
centos7 mysql安装及配置
|
2月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
374 0
在CentOS上使用yum安装与使用MySQL
|
2月前
|
存储 自然语言处理 关系型数据库
MySQL全文索引源码剖析之Insert语句执行过程
【8月更文挑战第17天】在MySQL中,处理含全文索引的`INSERT`语句涉及多步骤。首先进行语法解析确认语句结构无误;接着语义分析检查数据是否符合表结构及约束。随后存储引擎执行插入操作,若涉及全文索引则进行分词处理,并更新倒排索引结构。此外,事务管理确保了操作的完整性和一致性。通过示例创建含全文索引的表并插入数据,可见MySQL如何高效地处理此类操作,有助于优化数据库性能和提升全文搜索效果。
|
5月前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
58 0
|
监控 Linux Apache
CentOS7.0源码安装Apache
CentOS7.0源码安装Apache
1615 0
|
关系型数据库 测试技术 PHP
CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5
一、准备(把所有的源文件放在‘/home/yuanjun’目录下) apr http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz apr-util http://mirror.
688 0
|
9天前
|
Unix Linux 开发工具
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
本文详细介绍了如何在官网下载CentOS 8以及在VMware Workstation Pro 16虚拟机上安装CentOS 8的步骤,包括可能出现的问题和解决方案,如vcpu-0错误的处理方法。
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
下一篇
无影云桌面