news 2026/2/25 2:28:28

CentOS7安装Mysql5.7(ARM64架构)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CentOS7安装Mysql5.7(ARM64架构)
1.第一步:下载 arm 版本离线 mysql 5.7 安装包

arm 版本离线 mysql 5.7 安装包

2.第二步:查询并卸载 CentOS 自带的数据库 Mariadb

找到数据库 mariadb,如果有会给出一个结果,结果是 mariadb 名称
rpm -qa | grep mariadb
如果存在就卸载
rpm -e --nodeps [查询到的mariadb名称]

3.第三步:创建用户和用户组

先检查 mysql 用户和用户组有没有被使用
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
添加 mysql 用户组groupadd mysql
添加 mysql 用户并加入用户组useradd -g mysql mysql
修改 mysql 用户的登陆密码(这里根据需要设置,可以略过)
passwd mysql
12345678

4.第四步:上传文件至服务器的/usr/local 后解压、改名、授权

cd /usr/local
上传文件
解压安装包 mysql-5.7.27-aarch64.tar.gz
tar -xvf mysql-5.7.27-aarch64.tar.gz

将解压后的目录改名为 mysql
mv mysql-5.7.27-aarch64 mysql

目录授权操作

按照下面的操作执行 cd /usr/local/ chown -R mysql mysql/ chgrp -R mysql mysql/ cd mysql/ mkdir data chown -R mysql:mysql data
5.第五步:安装 mysql 数据库【目录:/usr/local/mysql/bin】

mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

安装成功输出的日志如下:

(红线部分即为 root 密码)


报错:

解决方案:
原因是因为没有修改环境变量

vi /etc/profile
在文件最后一行添加:export PATH=$PATH:/usr/local/mysql/bin

退出后使用命令
source /etc/profile


报错:

解决方案:
yum install libatomic


报错:

解决方案:
原因:因为CentOS7当前版本默认的GCC的版本太老,里面的动态链接库没有GLIBCXX_3.4.20GLIBCXX_3.4.21

1.执行命令检查动态库:strings /usr/lib64/libstdc++.so.6 | grep GLIBC
输出:

可以看出最高版本是 3.4.19

2.查看 libstdc++.so.6 的位置:find / -name libstdc++.so.6*
输出:

最高版本文件是libstdc++.so.6.0.19

3.下载 GCC 源码,选择合适的版本,本文以 gcc-13.2.0 为例
gcc 各版本下载地址: https://ftp.gnu.org/gnu/gcc/
安装编译环境:
yum groupinstall "Development Tools"
yum install glibc-static libstdc++-static

解压上传的 gcc-13.2.0:tar -Jxvf gcc-13.2.0.tar.xz【在上传目录中运行】

进入源码目录进行编译:

cd gcc-13.2.0 ./contrib/download_prerequisites mkdir build cd build

生成 make 文件并且编译(ps:此处编译时间比较久)
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
编译完成后安装:make install
安装完成后查看版本是否更新:strings /usr/lib64/libstdc++.so.6 | grep GLIBC

发现并没有更新到最新的动态库

查找编译 gcc 时生成的最新动态库:find / -name "libstdc++.so*"

可以看到生成的最新版本文件在:/usr/local/mysql/extra/libstdc++.so.6.0.24
下面拷贝文件到 lib 目录,并重新建立软链接:

cp /usr/local/mysql/extra/libstdc++.so.6.0.24 /usr/lib64/ cd /usr/lib64 rm libstdc++.so.6 ln -sf /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6

最后再确认 GLIBCxx 的版本:strings /usr/lib64/libstdc++.so.6 |grep GLIBC

6.第六步:安装成功后设置文件和目录权限:

此时 root 用户 还是在 mysql 目录下执行

cp ./support-files/mysql.server /etc/init.d/mysqld chown 777 my.cnf chmod +x /etc/init.d/mysqld
7.第七步:修改配置文件

/etc/init.d/mysqld里面的 所有的mysql-5.7.27-aarch64改为mysql
/usr/local/mysql/my.cnf里面所有的“socket =”后面改为/tmp/mysql.sock

8.第八步:创建日志文件

创建日志目录
mkdir /usr/local/mysql/logs
创建错误日志文件
echo “” > /usr/local/mysql/logs/mysql-error.log
授权
chown -R mysql:mysql /usr/local/mysql/logs/mysql-error.log

9.第九步:启动脚本

/etc/init.d/mysqld restart

10.第十步:登录并修改 root 密码

mysql -uroot -p
输入密码(上面操作 bin/mysqld --initialize xxx 生成)

11.第十一步:设置开机自启动

先将/usr/local/mysql/support-files/文件夹下的mysql.server文件复制到/etc/rc.d/init.d/目录下mysqld

命令:cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

赋予可执行权限:chmod +x /etc/init.d/mysqld

添加为服务:chkconfig --add mysqld

查看服务列表:chkconfig --list

看到 3、4、5 状态为开或者为 on 则表示成功。如果是 关或者 off 则执行一下:chkconfig --level 345 mysqld on

重启计算机:reboot

结束,OK~

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

251524259-C控制器模块

251524259-C 控制器模块通常是指工业控制系统里的一个 控制单元/逻辑模块,它承担着 处理输入信号、执行控制逻辑、输出控制指令 的功能,是设备自动控制系统的重要组成部分。下面用通俗的方式帮你理解这类控制器模块的作用、工作方式和典型应用&#xff1…

作者头像 李华
网站建设 2026/2/24 7:40:56

基于SpringBoot的旅游景点推荐系统(毕设源码+文档)

背景 本课题聚焦基于SpringBoot框架的旅游景点推荐系统设计与实现,旨在解决传统旅游场景中景点信息分散杂乱、推荐精准度低、用户需求与景点匹配低效、出行规划不便等问题。系统采用B/S架构,依托浏览器即可实现多端便捷访问,适配游客、景区管…

作者头像 李华
网站建设 2026/2/10 21:02:16

Linux学习日记23:信号量

一、前言信号量是 Linux 中用于进程间、线程间同步与互斥的核心机制,其本质是一个计数器,通过原子操作(P/V 操作)控制并发实体对共享资源的访问权限。与互斥锁相比,信号量不仅支持 “独占式访问”(二值信号…

作者头像 李华
网站建设 2026/2/12 19:45:07

力扣3074重新分装苹果的题解

题目:给你一个长度为 n 的数组 apple 和另一个长度为 m 的数组 capacity 。一共有 n 个包裹,其中第 i 个包裹中装着 apple[i] 个苹果。同时,还有 m 个箱子,第 i 个箱子的容量为 capacity[i] 个苹果。请你选择一些箱子来将这 n 个包…

作者头像 李华