在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
相关推荐
珞光电子USRP SDR软件无线电平台1 天前
国产嵌入式SDR平台LW-E320-G详解:射频、FPGA、ARM架构与应用选型
arm开发·fpga开发·架构
Jason_zhao_MR1 天前
Linux与采集MCU通信为什么我们用了双SPI
linux·arm开发·单片机·嵌入式硬件·嵌入式
qetfw1 天前
Debian Nginx + PHP-FPM 配置:FastCGI、站点目录与访问验证
linux·nginx·debian·php
机器人梦想家1 天前
Debian 12/13 关闭开机图形界面(仅保留命令行)
运维·debian
ARM|X86+FPGA工业主板厂家2 天前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
一池秋_3 天前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
qq_402995753 天前
诊断协议栈配置Agent
arm开发·人工智能·stm32·单片机·mcu
淼澄研学3 天前
Debian通过AI决议:合规解析与Ollama本地部署Llama3实操
运维·人工智能·debian
一木 之林5 天前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
hongmai6668886 天前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g