Ubuntu 20.04 ARM64架构下面安装mysql5.7.22

前言:需在一个不知名盒子里安装生产环境,盒子系统环境:

js 复制代码
root@bm1684:~# uname -a
Linux bm1684 5.4.217-bm1684-g01adf91564c4 #1 SMP Fri Dec 27 10:53:44 CST 2024 aarch64 aarch64 aarch64 GNU/Linux

然后网上找了一些教程,整理了一下写在下面,参考原文出处:zhuanlan.zhihu.com/p/465859047

1、前置依赖和下载

ini 复制代码
# 添加mysql用户组和mysql用户,用于隔离mysql进程
[root@bm1684 ~]#  groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql
# 安装依赖库
[root@bm1684 ~]# sudo apt-get install -y libaio*
# 下载解压Mysql
[root@bm1684 ~]# wget https://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz
[root@bm1684 ~]# tar -xvf mysql-5.7.27-aarch64.tar.gz -C /usr/local/

2、配置MYSQL

csharp 复制代码
[root@bm1684 ~]# mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql
[root@bm1684 ~]# mkdir -p /usr/local/mysql/logs
[root@bm1684 ~]# sudo chown -R mysql:mysql /usr/local/mysql
[root@bm1684 ~]# ln -sf /usr/local/mysql/my.cnf /etc/my.cnf
[root@bm1684 ~]# sudo cp -rf /usr/local/mysql/extra/lib* /usr/lib/ 
[root@bm1684 ~]# sudo mv /usr/lib/libstdc++.so.6.0.24 /usr/lib/libstdc++.so.6.0.24.old
[root@bm1684 ~]# sudo ln -s /usr/lib/libstdc++.so.6.0.24 /usr/lib/libstdc++.so.6

3、设置开机启动

csharp 复制代码
[root@bm1684 ~]# cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 
[root@bm1684 ~]# chmod +x /etc/init.d/mysqld
[root@bm1684 ~]# systemctl enable mysqld

4、添加环境变量

ini 复制代码
[root@bm1684 ~]# vim /etc/profile
# 在尾部添加
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
# 刷新
[root@bm1684 ~]# source /etc/profile

5、初始化启动mysql

csharp 复制代码
# 初始化登录
[root@bm1684 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#开启mysql
[root@bm1684 ~]# systemctl start mysqld
#查看状态
[root@bm1684 ~]# systemctl status mysqld

类似如下图就说明安装成功了

6、设置MYSQL密码

ruby 复制代码
#在mysql安装路径找到 my.cnf 一般是在/etc/my.cnf下 
#在 [mysqld] 这一行下 添加 skip-grant-tables 跳过密码校验
[root@bm1684:/etc]# vim /etc/my.cnf
ini 复制代码
# 登录mysql
[root@bm1684 ~]# mysql -u root
#切换为mysql数据库
mysql> use mysql;
#设置root密码
mysql> update user set authentication_string=password("你的密码") where user="root";
mysql> flush privileges;
mysql> quit;
#重新进入到mysqld.cnf文件中去把刚开始加的skip-grant-tables这条语句给注释掉。

7、设置允许远程连接

csharp 复制代码
#使用设置的密码登录
root@bm1684:/etc# mysql -u root -p
mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "你的密码";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
#设置完成后 修改my.conf文件 注释掉 bind-address 然后重启数据库

---------------------------(END)完工撒花-----------------------------

相关推荐
不光头强1 小时前
Spring框架的事务管理
数据库·spring·oracle
百***92023 小时前
【MySQL】MySQL库的操作
android·数据库·mysql
q***76663 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
信仰_2739932433 小时前
Redis红锁
数据库·redis·缓存
人间打气筒(Ada)3 小时前
Centos7 搭建hadoop2.7.2、hbase伪分布式集群
数据库·分布式·hbase
心灵宝贝4 小时前
如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程)
数据库·mysql·macos
奋斗的牛马5 小时前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信
忧郁的橙子.5 小时前
一、Rabbit MQ 初级
服务器·网络·数据库
杰杰7986 小时前
SQL 实战:用户访问 → 下单 → 支付全流程转化率分析
数据库·sql
爬山算法6 小时前
Redis(120)Redis的常见错误如何处理?
数据库·redis·缓存