在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
相关推荐
qq_5470261794 小时前
Linux 基础
linux·运维·arm开发
fiveym7 小时前
解析Debian 10安装Intel Xeon Silver 4510卡住问题及Debian 11/12支持改进
运维·debian
物随心转8 小时前
Armv7的寄存器介绍
arm开发
Jewel Q9 小时前
x86、ARM、Intel、AMD
arm开发
切糕师学AI10 小时前
ARM 汇编指令:MOV
汇编·arm开发
驱动探索者10 小时前
[缩略语大全]之[数据中心]篇
arm开发·阿里云
wanhengidc10 小时前
具有ARM架构云手机的功能
运维·服务器·arm开发·科技·智能手机·云计算
The️11 小时前
STM32-FreeRTOS操作系统-事件
arm开发·stm32·单片机·嵌入式硬件·mcu·物联网
ssxueyi12 小时前
大数据技术之Zookeeper介绍、部署
大数据·zookeeper·debian
yumgpkpm12 小时前
Cloudera CDP7、CDH5、CDH6 在华为鲲鹏 ARM 麒麟KylinOS做到无缝切换平缓迁移过程
大数据·arm开发·华为·flink·spark·kafka·cloudera