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 小时前
【Kafka】登录日志处理的三次阶梯式优化实践:从同步写入到Kafka多分区批处理
数据库·分布式·mysql·kafka·go
isNotNullX1 小时前
数据中台架构解析:湖仓一体的实战设计
java·大数据·数据库·架构·spark
睿思达DBA_WGX4 小时前
由 DB_FILES 参数导致的 dg 服务器无法同步问题
运维·数据库·oracle
袋鼠云数栈5 小时前
使用自然语言体验对话式MySQL数据库运维
大数据·运维·数据库·后端·mysql·ai·数据治理·数栈·data+ai
阿里云大数据AI技术5 小时前
数据 + 模型 驱动 AI Native 应用发展
大数据·数据库·人工智能
??? Meggie6 小时前
【SQL】使用UPDATE修改表字段的时候,遇到1054 或者1064的问题怎么办?
android·数据库·sql
一屉大大大花卷6 小时前
初识Neo4j之图数据库(二)
数据库·neo4j
天翼云开发者社区7 小时前
OLAP分析数据库适用场景及主流产品对比
数据库
Britz_Kevin7 小时前
从零开始的云计算生活——番外2,MySQL组复制
数据库·mysql·云计算·生活·#组复制
工藤学编程7 小时前
分库分表之实战-sharding-JDBC绑定表配置实战
数据库·分布式·后端·sql·mysql