liusheng / liusheng.github.io

Liusheng's blog
http://liusheng.github.io
5 stars 1 forks source link

ARM架构的Centos7 上面部署Mariadb10.3.15 #3

Open liusheng opened 5 years ago

liusheng commented 5 years ago

环境信息

[root@arm-liusheng ~]# lsb_release -a
LSB Version:    :core-4.1-aarch64:core-4.1-noarch:cxx-4.1-aarch64:cxx-4.1-noarch:desktop-4.1-aarch64:desktop-4.1-noarch:languages-4.1-aarch64:languages-4.1-noarch:printing-4.1-aarch64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.6.1810 (AltArch)
Release:        7.6.1810
Codename:       AltArch

PS: 可能需要执行yum install redhat-lsb -y 安装lsb包才能使用lsb_release命令

步骤

  1. 修改Centos的安装源为国内(ali)以提高yum install命令的速度
  2. archlinuxarm ARM上面搜索mariadb相关的包以及依赖包
  3. 解压所有的tar.xz包,并按照其目录结构将所有内容拷贝到系统对应的目录。
  4. 执行mariadb安装命令,以及通过mysql命令登上执行简单操作验证。

安装脚本

# change repo of packages
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget http://mirros.aliyun.com/repo/Centos-altarch-7.repo -O /etc/yum.repos.d/CentOS-Base.repo
wget http://mirrors.aliyun.com/repo/Centos-altarch-7.repo -O /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
yum update -y

# gcc
wget http://mirror.archlinuxarm.org/aarch64/core/gcc-libs-8.2.1+20180831-1-aarch64.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/core/libmpc-1.1.0-1-aarch64.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/core/glibc-2.28-5-aarch64.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/core/mpfr-4.0.2-1-aarch64.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/core/binutils-2.31.1-4-aarch64.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/core/linux-api-headers-5.0.7-1-any.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/core/gcc-8.2.1+20180831-1-aarch64.pkg.tar.xz

#openssl
wget http://mirror.archlinuxarm.org/aarch64/core/openssl-1.1.1.b-1-aarch64.pkg.tar.xz

#mariadb
wget http://mirror.archlinuxarm.org/aarch64/extra/mariadb-10.3.15-1-aarch64.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/extra/mariadb-clients-10.3.15-1-aarch64.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/core/ncurses-6.1-6-aarch64.pkg.tar.xz

# "binutils linux-api-headers mpfr libmpc gcc-8.2.1 gcc-libs-8.2.1 glibc openssl mariadb-10.3.15 mariadb-clients-10.3.15"
shopt -s expand_aliases
alias |grep 'cp -i'|grep && unalias cp
function install_pkg(){
    pkgs=$1
    for pkg in ${pkgs}; do
        [ ! -d ${pkg} ] && mkdir -p ${pkg}
        [ -f ${pkg}*.xz ] && xz -d ${pkg}*.xz
        [ -f ${pkg}*.tar ] && tar xvf ${pkg}*.tar -C ${pkg}
        [ -d ${pkg}/usr/bin/ ] && cp -r ${pkg}/usr/bin/* /usr/bin/
        [ -d ${pkg}/usr/include/ ] && cp -r ${pkg}/usr/include/* /usr/include/
        [ -d ${pkg}/usr/lib/ ] && cp -r ${pkg}/usr/lib/* /usr/lib/ && cp -r ${pkg}/usr/lib/* /usr/lib64/
        [ -d ${pkg}/usr/share/ ] && cp -r ${pkg}/usr/share/* /usr/share/
        [ -d ${pkg}/etc/ ] && cp -r ${pkg}/etc/* /etc/
    done
}

# ========install gcc==========
gcc_pkgs="binutils linux-api-headers mpfr libmpc gcc-8.2.1 gcc-libs-8.2.1 glibc"
install_pkg "${gcc_pkgs}"
ldconfig

# testing gcc and g++
gcc --version
 cat << EOF > a.c
#include <stdio.h>
int main(void){
    printf("hello\n");
    return 1;
}
EOF
gcc -o a a.c
./a

cat << EOF > b.cpp
#include <iostream>
using namespace std;
int main(void){
    cout << "hello" << endl;
    return 1;
}
EOF
g++ -o b b.cpp
./b

# ========install openssl==========
openssl_pkgs="openssl"
install_pkg "${openssl_pkgs}"
openssl version

# ========install mariadb==========
mariadb_pkgs="mariadb-10.3.15 mariadb-clients-10.3.15 ncurses"
install_pkg "${mariadb_pkgs}"

#workaround
ln -s /usr/lib64/libbz2.so.1.0.6 /usr/lib/libbz2.so.1.0

# start mariadb
groupadd mysql
useradd -g mysql mysql
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

nohup /usr/bin/mysqld_safe --datadir='/var/lib/mysql' > /dev/null 2>&1 &
sleep 1
ps -ef |grep mysql

MariaDB 官方提供的安装包

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash
yum update -y
yum install mariadb mariadb-server mariadb-client -y

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

nohup /usr/bin/mysqld_safe --datadir='/var/lib/mysql' > /dev/null 2>&1 &