前言:需在一个不知名盒子里安装生产环境,盒子系统环境:
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 然后重启数据库
