惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
博客园 - 三生石上(FineUI控件)
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
GbyAI
GbyAI
P
Proofpoint News Feed
Microsoft Security Blog
Microsoft Security Blog
月光博客
月光博客
I
InfoQ
V
Visual Studio Blog
罗磊的独立博客
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
Jina AI
Jina AI
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
The Cloudflare Blog
小众软件
小众软件
雷峰网
雷峰网
V
V2EX
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog

泠泫凝的异次元空间

通过串口安装Linux | 泠泫凝的异次元空间 curl自编译 | 泠泫凝的异次元空间 Minecraft 认证服务器代理 | 泠泫凝的异次元空间 飞塔分流配置实战 | 泠泫凝的异次元空间 Windows 安全启动证书检查 | 泠泫凝的异次元空间 Lxn-OneDriveCLI | 泠泫凝的异次元空间 华三交换机配置 ERPS 环网 | 泠泫凝的异次元空间 PVE 配置 VLAN 感知 | 泠泫凝的异次元空间 MT7922 无线网卡安装 | 泠泫凝的异次元空间 无显示输出 Linux 主机配置桌面显示 | 泠泫凝的异次元空间 Wireguard 部署 SOP 手册(自用) | 泠泫凝的异次元空间 Zabbix 7.4 通过钉钉发送告警提醒 | 泠泫凝的异次元空间 Debian with xfce 通过 VNC 共享屏幕 华三S6860 IRF堆叠 | 泠泫凝的异次元空间 iPad 应用侧载 | 泠泫凝的异次元空间 Smart DNS 分区解析 | 泠泫凝的异次元空间 建立 NFS 服务器并挂载到客户端 | 泠泫凝的异次元空间 将 Android 以 MTP 方式连接至 Debian PVE 虚拟机迁移至 vCenter | 泠泫凝的异次元空间 vCenter 虚拟机迁移至 PVE | 泠泫凝的异次元空间 PVE迁移时提示密钥验证失败 | 泠泫凝的异次元空间 修改Windows设备设置区域 | 泠泫凝的异次元空间 恢复 SecureCRT 7.x 保存的密码 | 泠泫凝的异次元空间 PVE 超融合下电与上电流程 | 泠泫凝的异次元空间 记一次Zabbix异常处理 | 泠泫凝的异次元空间 苹果设备保存SHSH2 | 泠泫凝的异次元空间 PVE超融合部署 | 泠泫凝的异次元空间 树莓派启用zram | 泠泫凝的异次元空间 在 Hyper-V 上安装 EVE-NG | 泠泫凝的异次元空间 Zabbix 部署与 Windows 硬件信息收集 | 泠泫凝的异次元空间
arm 架构 CentOS 7 安装 MySQL 5.7 版本
Lxn's Area · 2024-04-18 · via 泠泫凝的异次元空间

arm 架构的 CentOS 7 没有官方编译的 MySQL 5.7 ,本文将使用华为云的预编译二进制文件在 arm 架构的 CentOS 7 上安装 MySQL 5.7 版本。

环境介绍

CentOS 7 aarch64(arm64)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@dc3-80-080 ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (AltArch)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (AltArch)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7:server"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

[root@dc3-80-080 ~]# uname -a
Linux dc3-80-080.novalocal 4.18.0-348.20.1.el7.aarch64 #1 SMP Wed Apr 13 20:57:50 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

下载必要组件

安装依赖

  1. 检查系统中是否存在mariadb和mysql其他版本
    1
    rpm -qa | grep mariadb
    如果返回不为空,则需要卸载掉mariadb
    1
    2
    [root@dc3-80-080 ~]# rpm -qa | grep mariadb
    mariadb-libs-5.5.68-1.el7.aarch64
    卸载:
    1
    rpm -e --nodeps mariadb-libs-5.5.68-1.el7.aarch64
    最后再执行以下第一条验证一下即可。
  2. 创建用户和用户组
    首先检查是否已存在mysql用户和组
    1
    2
    cat /etc/group | grep mysql
    cat /etc/passwd | grep mysql
    如果没有则需要创建:
    1
    2
    groupadd mysql
    useradd -g mysql mysql
  3. 安装离线依赖
    将刚才下载的离线依赖包解压到任意位置,然后执行如下命令进行安装
    1
    rpm -Uvh *.rpm --nodeps --force
  4. 导入so库
    将刚才下载的libstdc++.so.6.0.21直接复制到/lib64/,然后创建一个软链接
    1
    ln -snf /lib64/libstdc++.so.6.0.21 /lib64/libstdc++.so.6
  1. 解压mysql-5.7.27-aarch64.tar
    1
    tar -xvf mysql-5.7.27-aarch64.tar -C /usr/local/
  2. 给文件夹授权
    1
    2
    3
    4
    5
    6
    cd /usr/local/
    chown -R mysql mysql-5.7.27-aarch64/
    chgrp -R mysql mysql-5.7.27-aarch64/
    cd mysql-5.7.27-aarch64/
    mkdir data
    chown -R mysql:mysql data
  3. 创建必要文件夹和文件
    1
    2
    3
    mkdir /usr/local/mysql-5.7.27-aarch64/logs
    echo ' ' > /usr/local/mysql-5.7.27-aarch64/logs/mysql-error.log
    chown -R mysql:mysql /usr/local/mysql-5.7.27-aarch64/logs/mysql-error.log
  4. 初始化MySQL
    首先进入/usr/local/mysql-5.7.27-aarch64,然后执行如下命令:
    1
    bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.27-aarch64/ --datadir=/usr/local/mysql-5.7.27-aarch64/data/
    执行后会返回一行:
    1
    [Note] A temporary password is generated for root@localhost: ;>khFlf+t64N
    最后面的;>khFlf+t64N是随机生成的root密码,每次安装都不一样,千万记下来。第一次进入时修改密码需要这个。
  5. 复制启动脚本到init.d目录下并加运行权限
    1
    2
    cp ./support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
  6. 给mysql配置文件赋权
    1
    chown 777 my.cnf
  7. 修改配置文件
    • 将所有socket =行改为socket = /tmp/mysql.sock
    • 将所有/usr/local/mysql路径修改为实际路径/usr/local/mysql-5.7.27-aarch64,否则不能启动
  8. 添加环境变量,打开/etc/profile,添加如下行
    1
    2

    export PATH=$PATH:/usr/local/mysql-5.7.27-aarch64/bin
    然后立即应用环境变量
    1
    source /etc/profile
  9. 创建Service并开机启动
    创建文件/usr/lib/systemd/system/mysqld.service,并输入如下内容
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [Unit]
    Description=MySQL Server
    After=network.target
    After=syslog.target

    [Install]
    WantedBy=multi-user.target

    [Service]
    User=mysql
    Group=mysql
    Type=forking
    PIDFile=/var/run/mysqld/mysqld.pid
    TimeoutSec=0
    PermissionsStartOnly=true
    ExecStart=/usr/local/mysql-5.7.27-aarch64/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS
    LimitNOFILE = 5000
    Restart=on-failure
    RestartPreventExitStatus=1
    PrivateTmp=false
    新建PID目录并赋权,否则可能无法启动:
    1
    2
    3
    mkdir -p /var/run/mysqld
    chown -R mysql /var/run/mysqld/
    chgrp -R mysql /var/run/mysqld/
    启动 MySQL 服务:
    1
    systemctl enable --now mysqld

MySQL初次进入小设置

修改root密码

在该版本中,第一次进入MySQL不会要求强制修改密码,但是什么都做不了,于是第一次进去还是得修改密码。

1
SET PASSWORD = 'MyP@ssworc1'

开启远程访问

默认的话MySQL是不允许远程访问的,可通过如下方式开启远程访问:

1
2
3
use mysql;
grant all privileges on *.* to 'root'@'%' identified by 'MyP@ssworc1';
flush privileges;

 上一篇

Fortigate