Debian12 安装 MySQL5.7
之前写了 Debian12 安装和配置 PHP7.4 和 Caddy,因为 Debian12 安装 MySQL5.7 会稍微有点繁琐,所以分开写。
Debian12 官方 apt 提供的 MySQL 基本都是 8.0 以上的版本,MySQL 官网的 apt 源也是 8.0 以上的版本。
要在 Debian12 上安装 5.7 或更老的版本就只能手动下载软件包,手动安装和解决依赖问题。
如果你的服务器内存够大的话,也可以直接安装 8.0 以上的版本,无论是功能还是安全性方面都比 5.7 好。
安装依赖
下面安装依赖和用到的工具:
apt install -y libaio1 libmecab2 psmisc libnuma1后面还会用到 wget,如果没有安装的话也可以安装一下。
MySQL5.7 依赖的 libssl1.1 和 libncurses5 在默认的 apt 里没有,需要添加 Debian11 的源:
echo "deb http://deb.debian.org/debian bullseye main" > /etc/apt/sources.list.d/bullseye-temp.list更新缓存:
apt update安装老版本的依赖:
apt install -y libssl1.1 libncurses5 libtinfo5安装完成后删掉之前添加的 Debian11 源:
rm /etc/apt/sources.list.d/bullseye-temp.list更新缓存:
apt update下载 MySQL 软件包
下载的 MySQL 软件包是一个压缩包,其中会包含多个程序,这里创建一个 mysql_install 目录来存放 MySQL 安装包:
mkdir mysql_install
cd mysql_install下载为 Debian10 构建的 MySQL 安装包:
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.40-1debian10_amd64.deb-bundle.tar下载完成后解压:
tar -xvf mysql-server_5.7.40-1debian10_amd64.deb-bundle.tar解压完成后可以看到下面的文件:
.
|-- libmysqlclient-dev_5.7.40-1debian10_amd64.deb
|-- libmysqlclient20_5.7.40-1debian10_amd64.deb
|-- libmysqld-dev_5.7.40-1debian10_amd64.deb
|-- mysql-client_5.7.40-1debian10_amd64.deb
|-- mysql-common_5.7.40-1debian10_amd64.deb
|-- mysql-community-client_5.7.40-1debian10_amd64.deb
|-- mysql-community-server_5.7.40-1debian10_amd64.deb
|-- mysql-community-source_5.7.40-1debian10_amd64.deb
|-- mysql-community-test_5.7.40-1debian10_amd64.deb
|-- mysql-server_5.7.40-1debian10_amd64.deb
`-- mysql-testsuite_5.7.40-1debian10_amd64.deb安装 MySQL
按照下面的顺序安装用到的程序,安装过程中可能会出现依赖相关的错误提示,可以先忽略。
使用 dpkg 安装 mysql-common:
dpkg -i mysql-common_5.7.40-1debian10_amd64.deb安装 mysql-community-client:
dpkg -i mysql-community-client_5.7.40-1debian10_amd64.deb安装过程中可能会出现下面的错误提示:
dpkg: dependency problems prevent configuration of mysql-community-client:
mysql-community-client depends on libatomic1 (>= 4.8); however:
Package libatomic1 is not installed.
mysql-community-client depends on libncurses6 (>= 6); however:
Package libncurses6 is not installed.
dpkg: error processing package mysql-community-client (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.11.2-2) ...
Errors were encountered while processing:
mysql-community-client直接忽略。
安装 mysql-client:
dpkg -i mysql-client_5.7.40-1debian10_amd64.deb出现错误提示:
dpkg: dependency problems prevent configuration of mysql-client:
mysql-client depends on mysql-community-client (= 5.7.40-1debian10); however:
Package mysql-community-client is not configured yet.
dpkg: error processing package mysql-client (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
mysql-client还是忽略。
安装 mysql-community-server:
dpkg -i mysql-community-server_5.7.40-1debian10_amd64.deb出现错误提示:
dpkg: dependency problems prevent configuration of mysql-community-server:
mysql-community-server depends on mysql-client (= 5.7.40-1debian10); however:
Package mysql-client is not configured yet.
mysql-community-server depends on libatomic1 (>= 4.8); however:
Package libatomic1 is not installed.
dpkg: error processing package mysql-community-server (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.11.2-2) ...
Errors were encountered while processing:
mysql-community-server还是忽略。
如果安装 mysql-community-server 的时候没有出现错误,可能会显示设置 root 密码的界面:

如果出错就不会显示,但是后面还可以设置。
安装 mysql-server:
dpkg -i mysql-server_5.7.40-1debian10_amd64.deb出现错误提示:
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-community-server (= 5.7.40-1debian10); however:
Package mysql-community-server is not configured yet.
dpkg: error processing package mysql-server (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
mysql-server还是忽略。
下面进行依赖检查和修复:
apt -f install前面的依赖相关的错误在这里会被修复。
依赖错误修复完成后应该会显示设置 MySQL root 密码的界面:

需要输入两次 root 密码。
如果前面没有出现错误,显示了设置 root 密码的界面,运行修复程序完成后也不会再显示这个界面。
测试
如果启用了防火墙的话,需要开启 3306 端口:
ufw allow 3306/tcp启动 MySQL:
systemctl start mysql查看 MySQL 状态:
systemctl status mysql如果看到绿色信息提示就是成功运行。
尝试在命令行连接 MySQL:
mysql -uroot -p根据提示输入 root 密码,成功连接后会显示类似下面的内容:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.40 MySQL Community Server (GPL)
Copyright (c) 2000, 2022, 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.查看当前存在的数据库:
SHOW DATABASES;退出 MySQL:
EXIT;设置开机自动启动
可以先查看一下是否启用了开机自启动:
systemctl is-enabled mysql如果显示了 enabled 就是开机自动启动,要是显示了 disabled 或其它内容就不会自启动。
启用开机自启动:
systemctl enable mysql禁用开机自启动:
systemctl disable mysql常用命令
启动 MySQL:
systemctl start mysql停止 MySQL:
systemctl stop mysql重启 MySQL:
systemctl restart mysql查看 MySQL 运行状态:
systemctl status mysql 版权声明:本文为原创文章,版权归 Changbin's Blog 所有,转载请联系博主获得授权。
本文地址:https://www.misterma.com/archives/960/
如果对本文有什么问题或疑问都可以在评论区留言,我看到后会尽量解答。