Centos 7 下安装mysql- arrch5.7.27 arm 版本
前沿
m1芯片的电脑在装虚拟机的时候只能装arm架构的镜像,导致了安装mysql时候网上很多教程不能用,折腾了一天找到了一个教程亲测有效,在此记录下留着后续参考
参考资料: https://blog.csdn.net/weixin_46498976/article/details/122086624
Centos 7 arm 下载地址
Mysql 5.7 arrch 百度网盘
链接: https://pan.baidu.com/s/1Trdk1x-TWR_aB-RVZGJNiw 提取码: kwe7
安装步骤
1、解压文件
解压时用zxvf会出现[gzip: stdin: not in gzip format 错误,是因为该压缩包未采用gzip格式压缩,所以不需要添加z指令
tar xvf mysql-5.7.27-aarch64.tar.gz
2、安装依赖库
yum install -y libaio*
3、安装结束后,开始配置mysql
//1 移动文件
mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql
//2 创建logs目录
mkdir -p /usr/local/mysql/logs
//3 ln -sf a b 建立软连接,b指向a
ln -sf /usr/local/mysql/my.cnf /etc/my.cnf
//4 cp是linux里的拷贝命令-r 是用于目录拷贝时的递归操作-f 是强制覆盖
cp -rf /usr/local/mysql/extra/lib* /usr/lib64/
//5 移动依赖
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.old
//6 软连接依赖
ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
//7 创建mysql组
groupadd mysql
//8 创建mysql用户添加到mysql组
useradd -g mysql mysql
//9 将/usr/loca/mysql目录包含所有的子目录和文件,所有者改变为root,所属组改变为mysql
chown -R mysql:mysql /usr/local/mysql
4、设置开机启动
cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
5、添加环境变量
//修改文件配置
vim /etc/profile
//添加变量
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
//使文件生效
source /etc/profile
6、初始化mysql
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7、开启mysql
systemctl start mysqld
8、查看状态
systemctl status mysqld
9、配置账号
编辑 /usr/local/mysql/my.cnf,并在**[mysqld]** 这一行下:
添加 skip-grant-tables //表示跳过密码校验
vim /usr/local/mysql/my.cnf
10、使用:mysql -u root 进行登录
因为配置了跳过密码校验所以这次需要输入密码
11、配置密码
以下命令在mysql客户端执行
//此时需要需要一下密码,之前是设置临时跳过密码校验,括号里面填写你需要设置的密码
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
//备注:如果出现ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘,需要将localhost改为%,即语句为:
ALTER USER 'root'@'%' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
12、此时密码虽然修改成功,但是你直接通过远程连接可能会报错
//使root能再任何host访问
update user set host = '%' where user = 'root';
//刷新
FLUSH PRIVILEGES;
此时,重新远程连接数据库即可连接成功!
如果还是连接不成功查看下防火墙是否关闭
firewall-cmd --state
如果是开着的直接关闭
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动