arm64位架构下centos7 mysql5.7安装

本文讲解aarch64的centos7下mysql5.7的安装。对于mysql8,有官方的rpm安装(https://centos.pkgs.org/7/mysql-8.0-aarch64/)

 

1.wget下载5.7.27版本的MySQL。

wget https://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz

 

2.解压下载的包到 local目录下。

tar xvf mysql-5.7.27-aarch64.tar.gz -C /user/local

 

3.为了方便寻找和编辑,建议重命名刚刚解压的文件夹。

mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql

 

4.创建mysql组和用户,把mysql用户加入到mysql组。

groupadd mysql && useradd -r -g mysql mysql

 

5.更改组合用户的权限

chown -R mysql:mysql /usr/local/mysql

 

6.切换到 mysql 下的 bin 目录 ,安装和初始化MySQL数据库,需执行如下命令。

./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

 

报错:

./mysql_install_db: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

 

解决:

yum install -y libatomic

 

再次执行 mysql_install_db,报错:

./mysql_install_db: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./mysql_install_db)

./mysql_install_db: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./mysql_install_db)

 

分析原因:升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。

 

将MySql对应的最新动态库复制到 /usr/lib64 下:

cp /usr/local/mysql/extra/libstdc++.so.6.0.24 /usr/lib64

 

修改系统默认动态库的指向。首先切换到 /usr/lib64 下,删除原来的软连接,将默认库的软连接指向最新动态库。

cd /usr/lib64

rm libstdc++.so.6

ln -s libstdc++.so.6.0.24 libstdc++.so.6

 

7.在mysql目录下拷贝mysql.server文件到 /etc/init.d/mysqld

cp -a ./support-files/mysql.server /etc/init.d/mysqld

 

 

8.配置mysql,编辑修改/etc/init.d/mysqld(修改basedir 和 datadir。wq退出保存即可。)

 

 

9.初始化MySQL,在 mysql/bin 下,执行命令:

./mysqld_safe --user=mysql &

 

注意:可能会出现如下问题

2021-12-24T02:22:42.353008Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

 

解决方式是直接创建缺少的文件并赋予写入权限即可

mkdir /var/log/mariadb/

touch /var/log/mariadb/mariadb.log

chmod 666 /var/log/mariadb/mariadb.log

 

 

10.启动mysql

/etc/init.d/mysqld restart

 

 

11.设置开机自启动

chkconfig --level 35 mysqld on

 

 

12.查看一下自动生成的密码

cat /root/.mysql_secret

 

 

13.登录mysql 

/usr/local/mysql/bin/mysql -uroot -p`cat /root/.mysql_secret` -h127.0.0.1

 

 

14.修改root密码

SET PASSWORD FOR root@localhost = '123456';

flush privileges;

 

 

15.添加远程访问。首先在SQL中输入:use mysql;再设置远程访问命令:update user set host = '%' where user = 'root'; 使用 select host, user from user;查看状态,可以看到root有个% 通配符表示OK了。

重启MySQL

/etc/init.d/mysqld restart

时间:2021-12-24 | 分类:技术文摘 | 标签: aarch64  mysql  Centos  arm 
评论列表
64x64
冲凉 2022-06-06 19:02:03 回复
我想问下 8.配置mysql,编辑修改/etc/init.d/mysqld(修改basedir 和 datadir。wq退出保存即可。) 9.初始化MySQL,在 mysql/bin 下,执行命令: ./mysqld_safe --user=mysql & 这两步是不是没有写全
64x64
叶琛 2022-04-18 21:57:42 回复
MySQL server PID file could not be found! Starting MySQL...The server quit without updating PID file [FAILED]cal/mysql/data/mysql.pid).
发表评论
昵称
邮箱
内容