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)完工撒花-----------------------------

相关推荐
77qqqiqi1 小时前
解决忘记修改配置密码而无法连接nacos的问题
java·数据库·docker·微服务
ALLSectorSorft2 小时前
相亲小程序用户注册与登录系统模块搭建
java·大数据·服务器·数据库·python
Cyber4K2 小时前
MySQL--组从复制的详解及功能演练
运维·数据库·mysql·云原生
tangchao340勤奋的老年?2 小时前
[Qt]QString 与Sqlite3 字符串互动[汉字不乱码]
数据库·sqlite
netho02 小时前
nuxt3: trpc-nuxt和sqlite导致的503错误
数据库·sqlite·vue·nuxt
啊森要自信4 小时前
【MySQL 数据库】MySQL索引特性(二)页目录&&(B和B+树)&&(非)聚簇索引 && 索引操作
android·数据库·sql·mysql·adb·数据库架构
2025年一定要上岸4 小时前
【Django】-6- 登录用户身份鉴权
数据库·django·sqlite
奋进的孤狼4 小时前
【Java】在一个前台界面中动态展示多个数据表的字段及数据
java·数据库·oracle
极限实验室4 小时前
IK 字段级别词典升级:IK reload API
数据库