IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    arm 架构 CentOS 7 安装 MySQL 5.7 版本

    泠泫凝发表于 2024-04-18 07:07:24
    love 0

    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

    下载必要组件

    • mysql-5.7.27-aarch64.tar
    • 其他依赖

    安装依赖

    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

    安装MySQL

    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
      # MySQL 5.7 Env
      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
      启动服务:
      1
      systemctl start mysqld
      开机启动:
      1
      systemctl enable 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;


沪ICP备19023445号-2号
友情链接