在arm架构的Debian系统手动安装和卸载Mysql8的操作

记录一下在arm架构的Debian系统手动安装和卸载Mysql8的操作

bash 复制代码
lsb_release -a
bash 复制代码
linaro@linaro-alip:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 12 (bookworm)
Release:        12
Codename:       bookworm
linaro@linaro-alip:~$ 
bash 复制代码
linaro@linaro-alip:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
BUILD_INFO="root@liqilin-virtual-machine Sat May 24 08:37:00 CST 2025"
ID_LIKE="debian"
RK_BUILD_INFO="root@liqilin-virtual-machine Sat May 24 08:37:01 CST 2025"
linaro@linaro-alip:~$ 
bash 复制代码
linaro@linaro-alip:~$ uname -m
aarch64
linaro@linaro-alip:~$ 

1.安装MYSQL8

1.更新系统并安装依赖(安装过程中有可能需要用到)

bash 复制代码
sudo apt update && sudo apt upgrade -y
bash 复制代码
sudo apt-get install -y libaio1 libnuma1 libncurses6

2.下载 MySQL 8 的官方安装包

进入/usr/local目录下载后解压更改文件夹名称

bash 复制代码
cd /usr/local
bash 复制代码
sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.32-linux-glibc2.17-aarch64.tar.gz
bash 复制代码
sudo tar -zxvf mysql-8.0.32-linux-glibc2.17-aarch64.tar.gz
bash 复制代码
sudo mv mysql-8.0.32-linux-glibc2.17-aarch64 mysql

3.创建需要的data文件夹以及data下面的mysql和tmp文件夹以及授权

在/usr/local/mysql目录下面创建

bash 复制代码
cd /usr/local/mysql
bash 复制代码
sudo mkdir -p data
bash 复制代码
cd data
bash 复制代码
sudo mkdir -p mysql
bash 复制代码
sudo mkdir -p tmp
bash 复制代码
sudo chmod 777 /usr/local/mysql
bash 复制代码
sudo chmod 777 /usr/local/mysql/data
bash 复制代码
sudo chmod 777 /usr/local/mysql/data/mysql
bash 复制代码
sudo chmod 777 /usr/local/mysql/data/tmp

4.创建 MySQL 用户和用户组

bash 复制代码
sudo groupadd mysql
bash 复制代码
sudo useradd -r -g mysql -s /bin/false mysql

5.创建my.cnf文件

在/etc目录下创建

bash 复制代码
cd /etc

创建文件

bash 复制代码
sudo touch my.cnf

my.cnf文件内容(需要与创建的一致)

bash 复制代码
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data/mysql
socket=/usr/local/mysql/data/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql/mysql.err
pid-file=/usr/local/mysql/data/mysql/mysql.pid
character_set_server=utf8mb4
symbolic-links=0

[client]
socket = /usr/local/mysql/data/tmp/mysql.sock

编辑或者用其他方式写文件的时候,权限应该要开放(注意编辑完成后权限要恢复644)

bash 复制代码
sudo chmod 777 /etc/my.cnf

必须恢复644权限,/etc/my.cnf 文件的权限设置为可写(world-writable)可能导致 MySQL 忽略该配置文件

bash 复制代码
sudo chmod 644 /etc/my.cnf

将 /etc/my.cnf 文件的所有者和所属组都设置为root

bash 复制代码
sudo chown root:root /etc/my.cnf

6.初始化mysql8

在安装之前,必须设置所有者和所属组为新建的mysql用户用户组

bash 复制代码
sudo chown -R mysql:mysql /usr/local/mysql

进入mysql的bin目录

bash 复制代码
cd /usr/local/mysql/bin/

执行初始化

bash 复制代码
sudo ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/mysql/ --user=mysql --initialize

如果在控制台没有看到临时密码,那么安装过程可能出错了,如果有临时密码,基本上算是成功

如果没注意,可能需要在mysql.err里查看初始化临时密码

bash 复制代码
/usr/local/mysql/data/mysql/mysql.err

7.配置 MySQLsystemd 服务

bash 复制代码
cd /etc/systemd/system
bash 复制代码
sudo touch mysqld.service
bash 复制代码
sudo chmod 644 mysqld.service

mysqld.service文件内容

bash 复制代码
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
Type=notify
TimeoutSec=0
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS
EnvironmentFile=-/etc/sysconfig/mysql
LimitNOFILE = 10000
Restart=on-failure
RestartPreventExitStatus=1
Environment=MYSQLD_PARENT_PID=1
PrivateTmp=false

刷新重新加载服务

bash 复制代码
sudo systemctl daemon-reload

启动

bash 复制代码
sudo systemctl start mysqld.service

停止

bash 复制代码
sudo systemctl stop mysqld.service

查看状态

bash 复制代码
sudo systemctl status mysqld.service

开机启动

bash 复制代码
sudo systemctl enable mysqld.service

8.启动成功后,登录mysql和修改root密码

bash 复制代码
sudo /usr/local/mysql/bin/mysql -u root -p
bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

输入临时密码登录后的修改密码

bash 复制代码
linaro@linaro-alip:/usr/local/mysql/bin$ sudo /usr/local/mysql/bin/mysql -u root -p             
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.32

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \s
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Query OK, 0 rows affected (0.02 sec)

mysql> \s
--------------
/usr/local/mysql/bin/mysql  Ver 8.0.32 for Linux on aarch64 (MySQL Community Server - GPL)

Connection id:          9
Current database:       
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.0.32
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:            /usr/local/mysql/data/tmp/mysql.sock
Binary data as:         Hexadecimal
Uptime:                 2 min 51 sec

Threads: 2  Questions: 7  Slow queries: 0  Opens: 129  Flush tables: 3  Open tables: 48  Queries per second avg: 0.040
--------------

mysql> 

9.配置环境变量

bash 复制代码
sudo echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile

刷新重新加载

bash 复制代码
source /etc/profile
bash 复制代码
linaro@linaro-alip:~$ sudo echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
linaro@linaro-alip:~$ source /etc/profile
linaro@linaro-alip:~$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.32 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

其他配置环境变量的方式 在/home/linaro 根据具体系统有一个.bashrc文件

bash 复制代码
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
bash 复制代码
source ~/.bashrc

2.卸载MYSQL8

1.停止运行和删除服务

卸载mysql8是基于上面安装mysql8的方式的,在卸载mysql8之前,停止 MySQL 服务,停止 MySQL 开机启动的服务

bash 复制代码
sudo systemctl stop mysqld.service
bash 复制代码
sudo systemctl disable mysqld.service

删除 systemd 服务文件

bash 复制代码
sudo rm -f /etc/systemd/system/mysqld.service
bash 复制代码
sudo systemctl daemon-reload

2.删除数据和安装目录

删除 MySQL 数据目录(谨慎哦)

bash 复制代码
sudo rm -rf /usr/local/mysql/data

删除 MySQL 安装目录

bash 复制代码
sudo rm -rf /usr/local/mysql

3.删除配置文件

删除 MySQL 的配置文件,通常位于 /etc/my.cnf

bash 复制代码
sudo rm -f /etc/my.cnf

4.删除用户和用户组

bash 复制代码
sudo userdel mysql
bash 复制代码
sudo groupdel mysql

5.移除环境变量

移除环境变量-删除指定行

bash 复制代码
sudo sed -i '/export PATH=$PATH:\/usr\/local\/mysql\/bin/d' /etc/profile
bash 复制代码
source /etc/profile

移除环境变量-删除指定行(如果环境变量是在.bashrc配置的)

bash 复制代码
sudo sed -i '/export PATH=$PATH:\/usr\/local\/mysql\/bin/d' ~/.bashrc
bash 复制代码
source ~/.bashrc

验证 PATH 环境变量是否已更新

bash 复制代码
echo $PATH
相关推荐
爱的si念4 小时前
嵌入式ARM64 基于RK3588原生SDK添加用户配置选项./build lunch & debian
linux·debian·嵌入式
m0_571372824 小时前
嵌入式学习——ARM 体系架构1
arm开发·学习
生涯にわたる学び9 小时前
自旋锁/互斥锁 设备树 iic驱动总线 day66 67 68
arm开发
圆山猫13 小时前
[VF2] Boot Ubuntu和Debian发行版
ubuntu·postgresql·debian
etcix13 小时前
for my debian 12 mxlinux install the podman
运维·debian·podman
李小白2020020214 小时前
windows 10系统安装arm虚拟机
arm开发
Jtti2 天前
在 Debian 系统上清理缓存的方式和具体操作方法
运维·缓存·debian
亿道电子Emdoor3 天前
【ARM】PACK包管理
arm开发
wypywyp3 天前
基于arm芯片的驱动开发——温湿度传感器dht11
arm开发·驱动开发