华为鲲鹏arm架构linux服务器安装mysql教程

遇到一个项目是华为鲲鹏arm架构linux服务器(CentOS 7.5 with ARM),刚开始一直按照X86的教程在执行,后来mysql的本地编译命令出现了二进制的错误,于是想到了这个是鲲鹏arm架构的服务器,所以在网上看了很多博客,找到如下方法。情况区分为有互联网的情况和没有互联网的情况。

1.首先是有互联网的情况下:

     1.1先下载给各种依赖

yum install cmake time libaio-devel ncurses-devel numactl-devel openssl-devel
zlib-devel cyrus-sasl-devel openldap-devel  perl-Env  gcc gcc-c++ make rpm-build autoconf perl-JSON

   1.2下载安装源码

wget https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql-community-5.7.28-1.el7.src.rpm

rpm -ivh   mysql-community-5.7.28-1.el7.src.rpm

 1.3 编译安装MySQL

   安装后的源码在/root/rpmbuild/SOURCES/里面。

  我们将使用系统自带的GCC4.8.5来编译MySQL5.7.28,为此我们需要做一些修改

cd /root/rpmbuild/SOURCES
vim mysql-5.7.28/sql/mysqld.cc
#添加 #include <sys/prctl.h>

  

vim mysql-5.7.28/cmake/build-configurations/compiler_options.cmake

将所有的-O3改成-O1。上述修改不会对MySQL功能造成影响,主要是GCC的版本问题。

修改完之后重新打包,编译。

tar -zcf mysql-5.7.28.tar.gz mysql-5.7.28

rpmbuild -bb /root/rpmbuild/SPECS/mysql.spec

编译完成后,编译好的RPM包在/root/rpmbuild/RPMS/aarch64下

#启动数据库
systemctl start mysqld
#查看数据库状态
systemctl status mysqld

数据库初始密码在/var/log/mysqld.log里可以查到

数据库配置文件在/etc/my.cnf里可以查到

mysql -uroot –p
#修改密码和远程登录
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa!123456';
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> FLUSH PRIVILEGES;

2.接下来是没有互联网的情况下(我遇到的就是这种情况):

2.1制作本地yum源

首先从网上下了一个centos的arm版本,然后挂载在系统上,这样服务器就可以使用挂载系统的本地yum源,这个具体方式可以百度linux制作本地yum源,主要就是下载一个arm版本的centos。

2.2 下载依赖

然后就开始下载依赖,注意下载依赖 要分开写,比如: yum install -y cmake ,要一个一个编译,如果直接复制进去 无法下载成功。而且我下载的时候,其中有一个个依赖没有下载成功(好像是这个ncurses-devel),不过不重要,应该是可以忽略的。

yum install cmake time libaio-devel ncurses-devel numactl-devel openssl-devel
zlib-devel cyrus-sasl-devel openldap-devel  perl-Env  gcc gcc-c++ make rpm-build autoconf perl-JSON

2.3下载mysql 

然后下载rpm版本(注意是:rpm不是arm)的mysql文件(这个就是arm可执行的mysql文件)

https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql.5.7.28-rpm.tar

2.4 安转数据库 

把上面这个下载好的文件上传到linux服务器,然后cd进入文件夹

#安装数据库
rpm -ivh *.rpm

2.5启动数据库

#启动数据库
systemctl start mysqld
#查看数据库状态
systemctl status mysqld

数据库初始密码在/var/log/mysqld.log里可以查到

数据库配置文件在/etc/my.cnf里可以查到

mysql -uroot –p
#修改密码和远程登录
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa!123456';
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> FLUSH PRIVILEGES;

==================================================

启动成功之后后续可以使用rpm的mysql 启动命令

(rpm)重启:service mysqld restart
(rpm)停止:service mysqld stop

问题:


这是因为mariadb-libs和mysql的lib冲突引起的,执行yum -y remove mariadb-libs可解决问题。

博客参考:https://bbs.huaweicloud.com/forum/thread-56570-1-1.htm

 

后续要安装 redis nginx zookeeper tomcat等都没啥问题,但是特别要注意redis和gcc的版本号要保持一致

3.arm安装软件排查问题流程

先找有没有对应的arm的软件,然后在找找gcc或者jdk版本等底层环境版本号是否兼容相关软件。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:设计师小姐姐 返回首页