MariaDB 是一个开源多线程的关系数据库管理系统,是 MySQL 的替代品。 MariaDB 是 DebianMySQL 的默认替换方案。

本教程介绍如何在 Debian 12 上安装 MariaDB。

准备条件

1、一台安装了 Debian 12 的 VPS 虚拟机 (推荐您购买一台阿里云VPS或者腾讯云VPS虚拟主机,如果你更喜欢国外服务器,推荐你尝试Vultr上的VPS,注册即送$50美元体验,性价比非常高) ,当然你自己电脑或者虚拟机中也可以。

2、如果使用 VPS, 基于安全考虑,建议使用非 root 账号,可以在 Debian 12 上创建一个具有sudo权限的账号

安装 MariaDB

在撰写本文时,Debian main 中提供的最新 MariaDB 版本是版本 10.11.4,所以你可以直接在命令行中使用命令安装。

首先,以 root 身份或用户使用 sudo 权限执行以下步骤,在 Debian 12 上安装 MariaDB:

在命令终端中执行如下命令进行安装 MariaDB 数据库。

1、更新软件包

sudo apt update
sudo apt install mariadb-server

2、安装完成,数据库服务会自动启动,可通过如下命令检查服务是否正常。

sudo systemctl status mariadb

你会看到类似如下的输出:

● mariadb.service - MariaDB 10.11.4 database server
    Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
    Active: active (running) since Sun 2024-01-14 13:16:27 CST; 22h ago
      Docs: man:mariadbd(8)
            https://mariadb.com/kb/en/library/systemd/
  Main PID: 5224 (mariadbd)
    Status: "Taking your SQL requests now..."
    Tasks: 8 (limit: 2235)
    Memory: 161.6M
      CPU: 1.791s
    CGroup: /system.slice/mariadb.service
            └─5224 /usr/sbin/mariadbd

加固 MariaDB 安全

MariaDB 附带了一个脚本,可以帮助您提高安装的安全性。 要在终端中启动脚本类型 mysql_secure_installation:

sudo mysql_secure_installation

脚本执行过程中,系统将提示您为 root 帐户设置密码,删除匿名用户,限制 root 用户对本地计算机的访问权限并删除测试数据库。

类似如下:

...
Enter current password for root (enter for none):
...
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
...
Remove anonymous users? [Y/n] Y
...
Disallow root login remotely? [Y/n] Y
...
Remove test database and access to it? [Y/n] Y
...
Reload privilege tables now? [Y/n] Y
...
Thanks for using MariaDB!

配置选项完成后,脚本将重新加载权限表,确保更改立即生效。

所有步骤都会详细解释,如自己无特殊个人要求,建议对所有问题选择 “Y”(是)。

认证方法

默认情况下,MariaDB root 用户使用 unix_socket 身份验证插件,该插件在调用 mysql 客户端工具时检查有效用户 ID。

这意味着只有在以系统 root 身份调用 mysql 命令或将 sudo 添加到命令时,才能以 root 身份连接到 MariaDB 服务器。

为了提高安全性,建议保留默认的身份验证插件,并允许 root 用户仅通过 Unix 套接字进行身份验证。

如果要将根身份验证更改为经典身份验证,请登录 MariaDB 服务器,在命令行终端中执行:

sudo mysql

运行以下SQL语句以更改身份验证:

ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_root_passwd';

您现在可以使用新密码连接到 MariaDB 服务器:

mysql -u root -p

更改身份验证插件还允许您从外部程序(如phpMyAdmin)以 root 用户身份登录

写在最后

在本教程中,我们向您展示了如何在 Debian 12 服务器上安装 MariaDB 数据库

如果您有任何问题或反馈,欢迎随时发表评论。

如何在 Debian 12 上安装 MariaDB的更多相关文章

  1. 如何在Debian 9上安装和使用Docker

    介绍 Docker是一个简化容器中应用程序进程管理过程的应用程序.容器允许您在资源隔离的进程中运行应用程序.它们与虚拟机类似,但容器更便携,更加资源友好,并且更依赖于主机操作系统. 在本教程中,您将在 ...

  2. 如何在 Debian 9 上安装和使用 Docker

    Docker 是一个容器化平台,允许您快速构建,测试和部署应用程序,作为便携式,自给自足的容器,几乎可以在任何地方运行. Docker 是容器技术的事实上的标准,它是 DevOps 工程师及其持续集成 ...

  3. [译]How to Install Node.js on Ubuntu 14.04 如何在ubuntu14.04上安装node.js

    原文链接为 http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/ 由作者Jacob Nicholson 发表于October ...

  4. Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)

    Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...

  5. Redis进阶实践之二如何在Linux系统上安装安装Redis(转载)(2)

    Redis进阶实践之二如何在Linux系统上安装安装Redis 一.引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我 ...

  6. 如何在VMware软件上安装Red hat(红帽)Linux6.9操作系统

    本文介绍如何在VMware软件上安装Redhat(红帽)Linux6.9操作系统 首先需要准备 VMware软件和Redhat-Linux6.9操作系统的ISO系统镜像文件包(这里以linux6.9为 ...

  7. 在MacOS 10.12上安装Tomcat8.5

    在MacOS 10.12上安装Tomcat8.5 原文链接:https://wolfpaulus.com/journal/mac/tomcat8/ Context 已安装Java,使用java -ve ...

  8. GPT分区基础知识及如何在GPT分区上安装WIN7

    大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘,更快速的启动win8,预装系统都采取了GPT分区 ...

  9. 如何在Linux(Ubuntu)上安装Redmine

    费话就不多说了,本文主要描述如何在如何在Linux(Ubuntu)上安装Redmine.通过这篇文章你将了解如下内容. TL;DR 在Linux(Ubuntu)上安装Redmine的基本流程 配置ph ...

  10. 如何在windows2008/2012上安装启明星系统。

    启明星系统提供多种安装方式.安装包里自带了setup.exe.每个程序的 install下有在线安装(例如请假应用程序为book,则默认为 http://localhost/book/install ...

随机推荐

  1. html字间距怎么设置?

    在HTML中,可以通过CSS来设置字间距.字间距指的是字符之间的空白区域,在网页设计中,修改字间距可以改变文字的外观和排版效果.下面详细介绍如何使用CSS来设置字间距. 使用letter-spacin ...

  2. Java 21中的两个值得关注的Bug修复

    在Java 21中,除了推出很多新特性之外,一些Bug修复,也需要注意一下.因为这些改变可能在升级的时候,造成影响. Double.toString()和Float.toString()的精度问题修复 ...

  3. FreeSWITCH在answer前主动发dtmf

    操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 NAT环境的主动外呼场景下,会遇到线路侧回铃音数据无法接收的问题,需要FreeSWITCH主动发送RTP数据,发送D ...

  4. IoC入门案例

    1.管理什么?(Service和Dao) 2.如何将被管理的对象告知IoC容器?(配置) 3.被管理的对象交给IoC容器,如何获取IoC容器?(接口) 4.IoC容器得到后,如何从容器中获取到bean ...

  5. 数据仓库——Hive

    数据仓库:是一个用于储存,分析,报告的数据系统 数据仓库的目的是构建面向分析的集成化数据环境,分析结果为企业提供决策支持 数仓专注分析 数据仓库仓库为何而来,解决什么问题的? 为了分析数据而来,分析结 ...

  6. django-celery-beat插件使用

    该插件从 Django 管理界面管理celery的定期任务,您可以在其中动态****创建.编辑和删除定期任务以及它们的运行频率. django-celery-beat提供了几种添加定时或周期性任务的方 ...

  7. 如何保障Cookie的信息安全

    一.支持策略 保障 Cookie 的安全性可以从以下几个方面进行: 使用 HttpOnly 属性:设置 HttpOnly 属性可以防止JavaScript Document.cookie API 无法 ...

  8. MinIO客户端之diff

    MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc diff 检查指定桶内对象清单的差异,注意不比较对象内容的差异,命令如下: ./mc diff local1 ...

  9. Linux 多路复用(多路转接)

    出现原因 如果需要从一个文件描述符中读取数据,然后将数据写入到另一个文件描述符时,可以按照如下的阻塞 IO : while ((n = read(STDIN_FILENO, buf, BUFFER_S ...

  10. STM32CubeMX教程12 DMA 直接内存读取

    使用STM32CubeMX软件配置STM32F407开发板上串口USART1进行DMA传输数据,然后实现与实验"STM32CubeMX教程9 USART/UART 异步通信"相同的 ...