MySQL8.2-aarch64版本编译安装

麒麟ky10编译安装MySQL8

注意:V10 SP2自带的版本如下:cmake : 3.16.5 make : 4.3 gcc : 7.3.0 gcc-c++ : 7.3.0;目前最高只支持编译MySQL8.0.26版本数据库,如需编译更高版本MySQL8就必须升级gcc、gcc-c++。
gcc官方下载地址:http://ftp.gnu.org/gnu

一、编译升级gcc、gcc-c++

提示:gcc的版本升级,可以根据自己需要编译的MySQL8版本去进行升级;这里是根据编译MySQL8.2最新版本而去升级gcc10版本。

1.1、安装依赖

通过yum源安装常规依赖软件工具包,如yum源没有的请自行下载安装:

yum -y install lrzsz curl telnet wget tar vim unzip zip gcc gcc-c++ gcc-devel openssl-devel perl ncurses-devel bison-devel libaio libaio-devel libtirpc-devel rpcsvc-proto-devel rpcgen

1.2、编译升级gmp、mpc、mpfr依赖

相关源码包下载地址请参考上方的gcc下载地址,不同的gcc版本需要的这个三个依赖包版本不同,请自行参考官网。

1.2.1、编译gmp
tar  -xf  gmp-6.3.0.tar.gz
cd   gmp-6.3.0
./configure --prefix=/usr/local/gmp-6.3.0
make -j4  && make install 
1.2.2、编译mpfr
tar -xf mpfr-4.2.1.tar.gz
cd  mpfr-4.2.1  
./configure --prefix=/usr/local/mpfr-4.1.2/  --with-gmp=/usr/local/gmp-6.3.0/
make  -j4  &&  make install 
1.2.3、编译mpc
tar  -xf  mpc-1.2.0.tar.gz
cd  mpc-1.2.0
./configure  --prefix=/usr/local/mpc-1.2.0  --with-gmp=/usr/local/gmp-6.3.0/ --with-mpfr=/usr/local/mpfr-4.1.2/
make -j4  && make install 
1.2.4、将三个依赖包的lib加入到系统lib里面

建议是在/etc/ld.so.conf.d新建一个配置文件专门存放这次升级的所有lib路径,如下:

cat /etc/ld.so.conf.d/gcc-10.1.0.conf
/usr/local/gmp-6.3.0/lib
/usr/local/mpfr-4.1.2/lib
/usr/local/mpc-1.2.0/lib


ldconfig      ###运行命令使以上的配置生效

1.3、编译升级gcc

请参考上方的gcc官网下载好想升级的gcc版本源码包;

1.3.1、编译gcc
tar  -xf   gcc-10.1.0.tar.gz
cd  gcc-10.1.0
mkdir build
../configure --prefix=/usr/local/gcc-10.1.0 --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,lto --enable-plugin --enable-initfini-array --disable-libgcj --without-isl --without-cloog --enable-gnu-indirect-function --build=aarch64-linux-gnu --with-stage1-ldflags=' -Wl,-z,relro,-z,now' --with-boot-ldflags=' -Wl,-z,relro,-z,now' --with-multilib-list=lp64  --with-mpc=/usr/local/mpc-1.2.0/  --with-mpfr=/usr/local/mpfr-4.1.2/  --with-gmp=/usr/local/gmp-6.3.0/
make -j4  &&  make install

编译安装完成后,同样的需要将新版本gcc的lib加入到系统lib变量中;

cat /etc/ld.so.conf.d/gcc-10.1.0.conf
/usr/local/gmp-6.3.0/lib
/usr/local/mpfr-4.1.2/lib
/usr/local/mpc-1.2.0/lib
##新增
/usr/local/gcc-10.1.0/lib
/usr/local/gcc-10.1.0/lib64
/usr/local/gcc-10.1.0/libexec


ldconfig      ###运行命令使以上的配置生效
1.3.2、替换或者配置变量

到这时就根据自己考量,是配置多版本gcc,还是替换更新升级新版本gcc;
更新:
将/usr/bin下的gcc命令备份后,直接替换新编译的gcc版本命令,即/usr/local/gcc-10.1.0/bin下的命令;
多版本(不建议):
就在/etc/profile文件里面配置export变量名和路径;

二、编译升级MySQL8.2

1、编译MySQL:

MySQL官方下载地址:https://downloads.mysql.com/archives/community/
建议下载带boost的源码包,例如:mysql-boost-8.2.0.tar.gz

tar  -xf  mysql-boost-8.2.0.tar.gz
cd  mysql-8.2.0
cmake -DBUILD_CONFIG=mysql_release -DMYSQLX_TCP_PORT=33068 -DMYSQL_TCP_PORT=33068 -DCPACK_MONOLITHIC_INSTALL=ON -DCMAKE_INSTALL_PREFIX=/data/unimedical/.services/mysql8 -DSYSCONFDIR=/data/unimedical/.services/mysql8/conf -DMYSQL_DATADIR=/data/unimedical/.services/mysql8/data -DMYSQLX_UNIX_ADDR=/data/unimedical/.services/mysql8/conf/mysqlx.sock -DMYSQL_UNIX_ADDR=/data/unimedical/.services/mysql8/conf/mysql.sock -DENABLE_DOWNLOADS=ON -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DFORCE_INSOURCE_BUILD=1 -DWITH_BOOST=./boost
make  -j4  &&   make install

2、编译问题处理

注意:编译MySQL8的时候,可能会存在找不到gcc的一些相关依赖;如下图:
1710406306434.png
这种情况是因为升级了gcc版本,但是新版本gcc的lib可能引用没生效;也可能是因为cmake编译MySQL8,会默认从原系统的lib路径找相关依赖,但没找到对应新版本的lib依赖;
解决方法,将新版本gcc的lib路径做个软连接到系统原路径下,如:

ln -sf /usr/local/gcc-10.1.0/libexec/gcc/aarch64-linux-gnu/10.1.0   /usr/libexec/gcc/aarch64-linux-gnu/10.1.0
ln -sf /usr/local/gcc-10.1.0/lib/gcc/aarch64-linux-gnu/10.1.0 /usr/lib/gcc/aarch64-linux-gnu/10.1.0

3、安装升级MySQL8

至此MySQL8编译完成后,就和普通的安装方式一样,通过初始化后就可以直接启动使用MySQL8数据库了。

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是mysql-8.0.32-linux-glibc2.17-aarch64.tar的离线安装步骤: 1. 首先下载mysql-8.0.32-linux-glibc2.17-aarch64.tar文件,并将其上传到CentOS-7-aarch64-Everything-2009系统上的某个目录。 2. 解压mysql-8.0.32-linux-glibc2.17-aarch64.tar文件,可以使用以下命令: ``` tar -xvf mysql-8.0.32-linux-glibc2.17-aarch64.tar ``` 3. 将解压后的mysql-8.0.32-linux-glibc2.17-aarch64目录移动到/usr/local目录下,可以使用以下命令: ``` mv mysql-8.0.32-linux-glibc2.17-aarch64 /usr/local/ ``` 4. 进入mysql-8.0.32-linux-glibc2.17-aarch64目录,并创建my.cnf文件。可以使用以下命令: ``` cd /usr/local/mysql-8.0.32-linux-glibc2.17-aarch64 cp support-files/my-default.cnf /etc/my.cnf ``` 5. 创建一个mysql用户和组,并设置mysql数据目录的权限。可以使用以下命令: ``` groupadd mysql useradd -r -g mysql -s /bin/false mysql mkdir /usr/local/mysql-8.0.32-linux-glibc2.17-aarch64/data chown -R mysql:mysql /usr/local/mysql-8.0.32-linux-glibc2.17-aarch64/data ``` 6. 初始化mysql数据库,可以使用以下命令: ``` bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.32-linux-glibc2.17-aarch64 --datadir=/usr/local/mysql-8.0.32-linux-glibc2.17-aarch64/data ``` 7. 启动mysql服务,可以使用以下命令: ``` bin/mysqld_safe --user=mysql & ``` 8. 设置mysql管理员密码,可以使用以下命令: ``` bin/mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 9. 配置mysql服务开机启动。可以使用以下命令: ``` cp support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql chkconfig --add mysql chkconfig mysql on ``` 10. 至此,mysql-8.0.32-linux-glibc2.17-aarch64.tar的离线安装已经完成。可以使用以下命令验证mysql是否安装成功: ``` bin/mysql -u root -p SHOW DATABASES; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值