aarch64-国产操作系统编译安装mysql-5.7.44,速通!
背景:某项目需要安装mysql-5.7.44版本,官网和网上没有现成的安装包,只能编译安装。#下载指定的boost,5.7需要用到1.59.0这个版本,下载地址。操作系统:欧拉22.03 TLS。mysql版本:5.7.44。架构:aarch64。
背景:某项目需要安装mysql-5.7.44版本,官网和网上没有现成的安装包,只能编译安装。
操作系统:欧拉22.03 TLS
架构:aarch64
mysql版本:5.7.44
[root@mysql-02 data]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"[root@mysql-02 data]# uname -r
5.10.0-60.18.0.50.oe2203.aarch64
#安装基础环境
yum install -y cmake bison flex libaio-devel numactl-devel openssl-devel gcc gcc-c++ libtirpc-devel ncurses-devel
#下载mysql:
https://downloads.mysql.com/archives/community/
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44.tar.gz
#安装基础环境 wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz tar xf rpcsvc-proto-1.4.tar.gz cd rpcsvc-proto-1.4 ./configure make make install #下载指定的boost,5.7需要用到1.59.0这个版本,下载地址 wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz cp boost_1_59_0.tar.gz /tmp/ cd /tmp/ && tar xf boost_1_59_0.tar.gz
tar xvf mysql-5.7.44.tar.gz
mv mysql-5.7.44 mysql
cd mysql
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc/mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/tmp/
make -j$(nproc)
make install
useradd -r -s /sbin/nologin mysql
chown -R mysql:mysql /data/mysql
mkdir -p /data/mysql/data
#初始化,记得保存临时密码
/data/mysql/bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
#创建my.cnf文件
[root@mysql-01 mysql]# cat /etc/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
pid-file=/data/mysql/mysql.pid
port=3306
user=mysql
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket=/tmp/mysql.sock
#启动mysql
./bin/mysqld --defaults-file=/etc/my.cnf &
#登录mysql
./bin/mysql -uroot -p
#重置root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '1231231+0UZuPw';
#创建新的root密码,避免修改老的导致登录失败
CREATE USER 'root'@'%' IDENTIFIED BY 'eJAOT88KH8B6qIVoQm7G+0UZuPw';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
#kill掉mysql,使用systemd管理
[root@mysql-01 mysql]# vim /etc/systemd/system/mysql.service
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecStop=/bin/kill $MAINPID
LimitNOFILE = 65535
Restart=on-failure
TimeoutSec=600
[Install]
WantedBy=multi-user.target
#设置开机启动
systemctl daemon-reload
systemctl enable --now mysql
最后再测试登录一下
更多推荐
所有评论(0)