如何在 Debian 12 上安装 MySQL

下载 MySQL

Debian 12 中并不包含 MySQL 软件包,其已经被 MariaDB 替换,我们需要从 MySQL 官网进行下载安装。

如果您想安装 MariaDB ,可以看之前的这篇教程:如何在 Debian 12上安装 MariaDB。

首选,进入 MySQL存储库下载页面,下载最新软件包。也可以在命令界面下使用wget命令下载最新的发行包。

复制代码
wget https://repo.mysql.com/mysql-apt-config_0.8.29-1_all.deb

其次,下载完成后,使用如下命令进行安装。

复制代码
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb

执行如上命令后,你会看到如下的MySQL 配置安装界面。

默认选择了 MySQL 8.0。

安装MySQL

我们将安装 MySQL 8.0 版, 通过按 Tab 键选择 "确定",然后按 Enter 键(如上图所示)。

使用以下命令更新软件包,并安装MySQL。

复制代码
sudo apt update
sudo apt install mysql-server

安装过程中将会弹出设置 MySQL root 密码的对话框,这一步先不设置,Tab键切换到 "OK" 继续,我们在下一章节中进行配置。

接下来,会显示一条消息,通知您有关新的 MySQL 8 身份验证的信息。

按照提示安装完成后,MySQL 服务会默认自动运行,我们可以通过命令查看服务运行状态:

复制代码
sudo systemctl status mysql

你可以看到如下内容的输出:

复制代码
● mysql.service - MySQL Community Server
  Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
  Active: active (running) since Fri 2024-01-14 13:16:27 CST; 18s ago
  ...

安全加固MySQL

MySQL 安装完成后,为了让 MySQL 更加安全,运行以下命令配置 MySQL root 密码并使安装的 MySQL 更安全。

复制代码
sudo mysql_secure_installation

系统将要求您配置 VALIDATE PASSWORD PLUGIN(验证密码插件),该插件用于测试 MySQL 用户密码的强度。 密码验证策略分为三个级别:低,中和强。 如果您不想设置验证密码插件,请按 Enter。

之后开始设置密码,以及询问是否移除 MySQL 中的 anonymous 用户,禁用 root 帐号远程登录等一些列为了 MySQL 加强安全的问题,所有内容如无个人特殊要求,默认建议都输入"y"后,回车。

命令行连接MySQL

在终端中可以输入mysql客户端命令来连接mysql服务:

选择默认的身份验证方法以root用户身份登录到MySQL服务器:

复制代码
mysql 

选择传统身份验证方法登录,请输入:

复制代码
mysql -uroot -p

这是输入之前设定的 MySQL root 帐号密码。

连接成功后你将会看到类似如下内容:

复制代码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.1.0 MySQL Community Server - GPL
...
mysql>

现在你可以执行 MySQL 的数据库 SQL 语句进行操作了。

写在最后

在本教程中,你学习了如何在 Debian 12 服务器上安装 MySQL。你也知道了如何加固 MySQL 使其更安全,并通过 MySQL shell 连接 MySQL 服务。

如果你正需要学习在 Debian 12 中安装 MySQL,不妨在你自己的 VPS 中开始尝试一下吧。

相关推荐
imDwAaY1 小时前
一条 SQL 发出去之后,MySQL 到底做了什么?
sql·mysql
March.s2 小时前
MySQL 数据库原理与实战:从数据管理到 LAMP 建站全解
数据库·mysql
悟道子HD3 小时前
网络安全基本功——MySQL基础
android·mysql·web安全
晚风叙码3 小时前
MySQL 增删改查(CRUD)完全指南:从入门到面试
数据库·mysql·面试
程序员Sunday16 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
Yyyyyy~16 小时前
[ Mysql ] 库的操作
mysql
小米里的大麦16 小时前
16 MySQL 事务
数据库·mysql
Titan202417 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
for_ever_love__18 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
for_ever_love__19 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结