记录一下在arm架构的Debian系统手动安装和卸载Mysql8的操作
lsb_release -a
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:~$
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:~$
linaro@linaro-alip:~$ uname -m
aarch64
linaro@linaro-alip:~$
1.安装MYSQL8
1.更新系统并安装依赖(安装过程中有可能需要用到)
sudo apt update && sudo apt upgrade -y
sudo apt-get install -y libaio1 libnuma1 libncurses6
2.下载 MySQL 8 的官方安装包
进入/usr/local目录下载后解压更改文件夹名称
cd /usr/local
sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.32-linux-glibc2.17-aarch64.tar.gz
sudo tar -zxvf mysql-8.0.32-linux-glibc2.17-aarch64.tar.gz
sudo mv mysql-8.0.32-linux-glibc2.17-aarch64 mysql
3.创建需要的data文件夹以及data下面的mysql和tmp文件夹以及授权
在/usr/local/mysql目录下面创建
cd /usr/local/mysql
sudo mkdir -p data
cd data
sudo mkdir -p mysql
sudo mkdir -p tmp
sudo chmod 777 /usr/local/mysql
sudo chmod 777 /usr/local/mysql/data
sudo chmod 777 /usr/local/mysql/data/mysql
sudo chmod 777 /usr/local/mysql/data/tmp
4.创建 MySQL 用户和用户组
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
5.创建my.cnf文件
在/etc目录下创建
cd /etc
创建文件
sudo touch my.cnf
my.cnf文件内容(需要与创建的一致)
[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)
sudo chmod 777 /etc/my.cnf
必须恢复644权限,/etc/my.cnf 文件的权限设置为可写(world-writable)可能导致 MySQL 忽略该配置文件
sudo chmod 644 /etc/my.cnf
将 /etc/my.cnf 文件的所有者和所属组都设置为root
sudo chown root:root /etc/my.cnf
6.初始化mysql8
在安装之前,必须设置所有者和所属组为新建的mysql用户用户组
sudo chown -R mysql:mysql /usr/local/mysql
进入mysql的bin目录
cd /usr/local/mysql/bin/
执行初始化
sudo ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/mysql/ --user=mysql --initialize
如果在控制台没有看到临时密码,那么安装过程可能出错了,如果有临时密码,基本上算是成功
如果没注意,可能需要在mysql.err里查看初始化临时密码
/usr/local/mysql/data/mysql/mysql.err
7.配置 MySQLsystemd 服务
cd /etc/systemd/system
sudo touch mysqld.service
sudo chmod 644 mysqld.service
mysqld.service文件内容
[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
刷新重新加载服务
sudo systemctl daemon-reload
启动
sudo systemctl start mysqld.service
停止
sudo systemctl stop mysqld.service
查看状态
sudo systemctl status mysqld.service
开机启动
sudo systemctl enable mysqld.service
8.启动成功后,登录mysql和修改root密码
sudo /usr/local/mysql/bin/mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
输入临时密码登录后的修改密码
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.配置环境变量
sudo echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile
刷新重新加载
source /etc/profile
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文件
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
source ~/.bashrc
2.卸载MYSQL8
1.停止运行和删除服务
卸载mysql8是基于上面安装mysql8的方式的,在卸载mysql8之前,停止 MySQL 服务,停止 MySQL 开机启动的服务
sudo systemctl stop mysqld.service
sudo systemctl disable mysqld.service
删除 systemd 服务文件
sudo rm -f /etc/systemd/system/mysqld.service
sudo systemctl daemon-reload
2.删除数据和安装目录
删除 MySQL 数据目录(谨慎哦)
sudo rm -rf /usr/local/mysql/data
删除 MySQL 安装目录
sudo rm -rf /usr/local/mysql
3.删除配置文件
删除 MySQL 的配置文件,通常位于 /etc/my.cnf
sudo rm -f /etc/my.cnf
4.删除用户和用户组
sudo userdel mysql
sudo groupdel mysql
5.移除环境变量
移除环境变量-删除指定行
sudo sed -i '/export PATH=$PATH:\/usr\/local\/mysql\/bin/d' /etc/profile
source /etc/profile
移除环境变量-删除指定行(如果环境变量是在.bashrc配置的)
sudo sed -i '/export PATH=$PATH:\/usr\/local\/mysql\/bin/d' ~/.bashrc
source ~/.bashrc
验证 PATH 环境变量是否已更新
echo $PATH