arm安装mysql8_在华为arm服务器安装5.7.30失败后,安装8.0.18

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 03:04   61   0

配置编译环境

步骤一:检查cmake是否安装

检查是否安装。

rpm -qa |grep cmake

步骤二:安装依赖包

执行以下命令安装依赖包:

yum install bison* ncurses*

yum install -y bzip2 wget

步骤三:升级gcc版本至5.3或者以上

1. 检查gcc的版本。

gcc --version

(可选)安装gcc7.3。

本文档以7.3版本为例。

2. 当版本不满足要求时,需要安装gcc。

下载gcc7.3。

下载地址:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

1) 将“gcc-7.3.0.tar.gz”放置于“/home”目录下,并解压安装。

cd /home

tar -xvf gcc-7.3.0.tar.gz

3. 下载isl、gmp、mpc、mpfr。

1) 在“gcc-7.3.0”目录下,检查gcc的依赖包是否已下载和安装。

./contrib/download_prerequisites

2) (可选)根据需要,下载“gmp-6.1.0.tar.bz2”、“isl-0.16.1.tar.bz2”、“mpc-1.0.3.tar.gz”或“mpfr-3.1.4.tar.bz2”。

在步骤3.1中检查到存在上述依赖包未下载安装时,请根据需要执行相应的命令下载。

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

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

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

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

3) 将安装包放置于“/home/gcc-7.3.0”目录下。

4. 编译安装gcc。

1) 编译gcc。

“-j”参数可利用多核CPU加快编译速度,在本示例中,使用的是16核CPU,所以此处为“-j16”。

可通过下述命令查询CPU核数:

cat /proc/cpuinfo| grep "processor"| wc -l

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 -j16

2) 执行安装。

make install

3) 确定“libstdc++.so”是在“/usr/lib64”目录下。

cd /usr/lib64

ll |grep libstdc++.so

查询结果如图1-2所示。

图1-2 查询“libstdc++.so”所在位置

2e9dbc800250820a5a7b3d204af5f1e6.png

4) 确定软连接存在,如图1-3所示。

ll |grep libstdc++.so.6.0.24

图1-3 确定软连接存在

83ec5945a4c73673e2c4225b57fea1cd.png

5) 查看版本,如图1-4所示。

gcc -v

图1-4 查看gcc版本

fb28d17097b9a231133123932ca7f7e9.png

----结束

3.3 编译安装MySQL

下载相应的源码包

实际我是从http://mirror.sohu.com/mysql/MySQL-5.7/ 下载的。。官网有点慢

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

wget https://github.com/mysql/mysql-server/archive/mysql-5.7.30.tar.gz

新建Mysql用户和用户组,保证mysql服务的独立性

groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql

预编译

tar -zxvf boost_1_59_0.tar.gz

tar -zxvf mysql-5.7.30.tar.gz

#需提前创建,否则后面会提示报错

mkdir -p /data/mysql

cd mysql-5.7.30

cmake编译,华为有一篇文章是建立一个sh文件进行,但是我用了不行

3. 在解压后的源码包路径“mysql-5.7.x”下,创建“cmake.sh”。

vim cmake.sh

文件内容如下,其中,“DWITH_BOOST”的取值请根据实际的boost路径修改。

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data/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=/mysql/mysql-5.7.28/boost/boost_1_59_0

4. 给“cmake.sh”赋以权限并运行,等待运行完成。

chmod +x cmake.sh

./cmake.sh

所以再参考另外一篇文章,直接是命令行执行

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data/mysql \

-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/mysql-5.7.30/boost/boost_1_59_0

出现错误

Cannot find appropriate system libraries for WITH_SSL=system

安装一下即可

yum install –y openssl openssl-devel ncurses ncurses-devel

编译安装

make -j `grep processor /proc/cpuinfo | wc -l`

出现错误

linux prctl’ was not declared in this scope

百度中还是找到了华为的文章

执行命令将prctl.h文件复制到/home/mysql/mysql-5.7.30/include中。

#cp /usr/include/sys/prctl.h /home/mysql/mysql-5.7.30/include

编辑mysqld.cc文件,增加下图标注的内容。

vi /home/mysql/mysql-5.7.30/sql/mysqld.cc

e8e91b32db26dac748d6c46b4719a6ae.png

重新执行命令安装。

make -j `grep processor /proc/cpuinfo | wc -l`

make install

编译到100%出错

[100%] Built target mysqld

../../archive_output_directory/libmysqld.a(sql_builtin.cc.o):(.data.rel+0x10): undefined reference to `builtin_csv_plugin'

../../archive_output_directory/libmysqld.a(sql_builtin.cc.o):(.data.rel+0x40): undefined reference to `builtin_archive_plugin'

collect2: error: ld returned 1 exit status

make[2]: *** [libmysqld/examples/mysql_client_test_embedded] Error 1

make[1]: *** [libmysqld/examples/CMakeFiles/mysql_client_test_embedded.dir/all] Error 2

make[1]: *** Waiting for unfinished jobs....

../../archive_output_directory/libmysqld.a(sql_builtin.cc.o):(.data.rel+0x10): undefined reference to `builtin_csv_plugin'

../../archive_output_directory/libmysqld.a(sql_builtin.cc.o):(.data.rel+0x40): undefined reference to `builtin_archive_plugin'

collect2: error: ld returned 1 exit status

make[2]: *** [libmysqld/examples/mysqltest_embedded] Error 1

make[1]: *** [libmysqld/examples/CMakeFiles/mysqltest_embedded.dir/all] Error 2

../../archive_output_directory/libmysqld.a(sql_builtin.cc.o):(.data.rel+0x10): undefined reference to `builtin_csv_plugin'

../../archive_output_directory/libmysqld.a(sql_builtin.cc.o):(.data.rel+0x40): undefined reference to `builtin_archive_plugin'

collect2: error: ld returned 1 exit status

make[2]: *** [libmysqld/examples/mysql_embedded] Error 1

make[1]: *** [libmysqld/examples/CMakeFiles/mysql_embedded.dir/all] Error 2

make: *** [all] Error 2

好吧。发帖求助没办法

找到另外一个安装8.0的MYSQL尝试一下 。然后里面的17版本 要改为18 不然下载不到

1、卸载centos7自带的mariadb

#查询自带安装的mariadb

rpm -qa | grep mariadb

#如果存在则卸载

rpm -e 查询到的mariadb --nodeps

2、安装所需依赖wget和libaio

yum -y install wget libaio

3、下载相关RPM包

cd /root

wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-community-common-8.0.18-1.el7.aarch64.rpm

wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-community-libs-8.0.18-1.el7.aarch64.rpm

wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-community-client-8.0.18-1.el7.aarch64.rpm

wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-community-server-8.0.18-1.el7.aarch64.rpm

下载好之后,/root目录下存在下面这4个文件

4、安装相关rpm包

rpm -ivh mysql-community-common-8.0.18-1.el7.aarch64.rpm

rpm -ivh mysql-community-libs-8.0.18-1.el7.aarch64.rpm

rpm -ivh mysql-community-client-8.0.18-1.el7.aarch64.rpm

rpm -ivh mysql-community-server-8.0.18-1.el7.aarch64.rpm

注:这4个rpm包存在强烈的依赖关系,因此必须按照顺序依次安装rpm包common→libs→client→server

在Linux下安装rpm包时经常会遇到下面这个问题:

error: Failed dependencies:

xxxxxxxxxxxxxxxxxxxxxx

遇到此问题时可以在安装rpm包命令的后面加两个参数,如:

rpm -ivh jdk-1_5_0_07-linux-i586.rpm

改成:

rpm -ivh jdk-1_5_0_07-linux-i586.rpm --nodeps --force

加上那两个参数的意义就在于,

安装时不再分析包之间的依赖关系而直接安装,

也就不会再提示error: Failed dependencies:这样的错误了。

5、启动mysql

systemctl start mysqld.service

6、查看mysql状态

systemctl status mysqld.service

7、 查看初始密码

cat /var/log/mysqld.log

冒号后面就是密码

9cff6ecf6aa562183f8e27bd0650b596.png

8、使用初始密码登录mysql

mysql –u root –p

9、修改初始密码

alter user 'root'@'localhost' identified by 'Xdw_123456';

注:密码有复杂度要求,采用大小写字母+特殊符号+数字组成。

10、使用新设置的密码重新登录即可。

mysql –u root –p

清除防火墙规则,不然即使关闭防火墙,也是无法访问80 3306等端口 提示no route to host

iptables -F

参考

https://www.jianshu.com/p/95a103add722

https://www.huaweicloud.com/kunpeng/software/mysql0.html

https://support.huaweicloud.com/prtg-kunpengdbs/kunpengmysql5727_02_0008.html

https://support.huaweicloud.com/prtg-kunpengdbs/kunpengmysql5727_02_0012.html

https://bbs.huaweicloud.com/forum/thread-21069-1-1.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP