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

相关推荐
彬彬醤12 分钟前
Mac怎么连接VPS?可以参考这几种方法
大数据·运维·服务器·数据库·线性代数·macos·矩阵
废喵喵呜18 分钟前
达梦数据库-实时主备集群部署详解(附图文)手工搭建一主一备数据守护集群DW
网络·数据库·tcp/ip
卑微的小鬼1 小时前
如何保证数据库和缓存的一致性?
数据库·缓存
做一个AC梦1 小时前
MiniOB环境部署开发(使用Docker)
数据库·sql·miniob·ob·海扬数据库
ALLSectorSorft3 小时前
搭子交友 app 动态分享与打卡系统设计实现
java·服务器·数据库·人工智能·oracle·交友
wuyunhang1234563 小时前
Redis---事务
数据库·redis·缓存
满目8283 小时前
MongoDB 从入门到实践:全面掌握文档型 NoSQL 数据库核心操作
数据库·mongodb·非关系型数据库·文档型数据库·基础查询命令·进阶查询
Tacy02133 小时前
Redis 安装教程
数据库·redis·缓存
用手编织世界4 小时前
redis-缓存-双写一致性
数据库·redis·缓存
smilejingwei5 小时前
数据分析编程第二步: 最简单的数据分析尝试
数据库·算法·数据分析·esprocspl