如何在 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 中开始尝试一下吧。

相关推荐
山城码农笑松哥2 小时前
国产凝思debian系Linux离线安装rabbitmq教程步骤
linux·debian·rabbitmq
沢田纲吉2 小时前
MySQL 学习二:数据库的操作
数据库·后端·mysql
大白的编程日记.3 小时前
【MySQL】表的操作和数据类型
android·数据库·mysql
程序新视界4 小时前
创建数据库索引时,要考虑一下这5个维度
mysql
安然~~~5 小时前
mysql多表联查
android·数据库·mysql
乐世东方客5 小时前
使用my2sql进行mysql的binlog恢复数据
数据库·mysql
Ttang235 小时前
ES+MySQL实时搜索架构实战解析
mysql·elasticsearch·架构
肃清15 小时前
《深入解析数据库事务的ACID特性》
数据库·mysql
a栋栋栋13 小时前
wsl 环境下用Docker 安装多版本MySQL
mysql·docker·容器