首页 > 其他分享 >在Debian 10上安装MariaDB的方法

在Debian 10上安装MariaDB的方法

时间:2024-08-27 11:54:54浏览次数:11  
标签:10 mariadb 软件包 debian mysql MariaDB root Debian

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

简介

MariaDB 是一个开源的数据库管理系统(DBMS),通常被用作流行的 LAMP(Linux、Apache、MySQL、PHP/Python/Perl)堆栈中 MySQL 部分的替代品。它旨在成为 MySQL 的即插即用替代品,而 Debian 现在只提供 MariaDB 软件包。如果您尝试安装 MySQL 服务器相关的软件包,您将收到兼容的 MariaDB 替代版本。

这个安装指南的简短版本包括以下三个步骤:

  • 使用 apt 更新软件包索引
  • 使用 apt 安装 mariadb-server 软件包。该软件包还会拉取相关工具以与 MariaDB 交互
  • 运行包含的 mysql_secure_installation 安全脚本以限制对服务器的访问
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

本教程将解释如何在 Debian 10 服务器上安装 MariaDB 版本 10.3,并验证其是否正在运行并具有安全的初始配置。

先决条件

要完成本教程,您需要一个已设置好防火墙的 Debian 10 服务器,并使用具有 sudo 权限的非 root 用户。您可以按照我们的初始服务器设置指南进行设置。

第 1 步 — 安装 MariaDB

在 Debian 10 上,默认情况下 APT 软件包存储库中包含 MariaDB 版本 10.3。它被 Debian MySQL/MariaDB 打包团队标记为默认的 MySQL 变体。

要安装它,请使用 apt 更新服务器上的软件包索引:

sudo apt update

然后安装软件包:

sudo apt install mariadb-server

这些命令将安装 MariaDB,但不会提示您设置密码或进行任何其他配置更改。由于默认配置会使您的 MariaDB 安装不安全,您将使用 mariadb-server 软件包提供的脚本来限制对服务器的访问并删除未使用的帐户。

第 2 步 — 配置 MariaDB

对于新的 MariaDB 安装,下一步是运行包含的安全脚本。此脚本会更改一些不太安全的默认选项。我们将使用它来阻止远程 root 登录并删除未使用的数据库用户。

运行以下安全脚本:

sudo mysql_secure_installation

这将引导您通过一系列提示,您可以在其中对 MariaDB 安装的安全选项进行一些更改。第一个提示将要求您输入当前数据库 root 密码。由于您尚未设置密码,因此按 ENTER 表示“无”。

接下来的提示会问您是否要设置数据库 root 密码。输入 N 然后按 ENTER。在 Debian 中,MariaDB 的 root 帐户与自动化系统维护密切相关,因此不应更改该帐户的配置身份验证方法。这样做可能会导致软件包更新通过删除对管理帐户的访问来破坏数据库系统。稍后,我们将介绍如何可选地为密码访问设置额外的管理帐户,如果套接字身份验证不适用于您的用例。

然后,您可以按 Y 然后按 ENTER 接受所有后续问题的默认值。这将删除一些匿名用户和测试数据库,禁用远程 root 登录,并加载这些新规则,以便 MariaDB 立即遵守您所做的更改。

第 3 步 —(可选)调整用户身份验证和权限

在运行 MariaDB 10.3 的 Debian 系统中,默认情况下,root MariaDB 用户设置为使用 unix_socket 插件进行身份验证,而不是使用密码。这在许多情况下可以提供更高的安全性和可用性,但当您需要允许外部程序(例如 phpMyAdmin)具有管理权限时,这也可能会使事情变得复杂。

由于服务器使用 root 帐户执行诸如日志轮换、启动和停止服务器等任务,最好不要更改 root 帐户的身份验证详细信息。在 /etc/mysql/debian.cnf 配置文件中更改凭据可能起初会起作用,但软件包更新可能会覆盖这些更改。与其修改 root 帐户,软件包维护人员建议创建一个专门用于基于密码的访问的单独的管理帐户。

为了演示这个过程,我们将创建一个名为 admin 的新帐户,该帐户具有与 root 帐户相同的功能,但配置为使用密码进行身份验证。要做到这一点,请从终端打开 MariaDB 提示符:

sudo mysql

现在,创建一个具有 root 权限和基于密码访问的新用户。更改用户名和密码以匹配您的偏好:

GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

刷新权限以确保它们被保存并在当前会话中可用:

FLUSH PRIVILEGES;

完成后,退出 MariaDB shell:

exit
Bye

接下来,让我们测试 MariaDB 安装。

第四步 —— 测试 MariaDB

当从默认仓库安装时,MariaDB 应该会自动启动。为了测试这一点,可以检查它的状态:

sudo systemctl status mariadb

你将会收到类似以下的输出:

● mariadb.service - MariaDB 10.3.31 数据库服务器
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:
   Active: active (running) since Mon 2022-03-14 18:33:32 UTC; 2min 2s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 3229 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 4915)
   Memory: 74.4M
   CGroup: /system.slice/mariadb.service
           └─3229 /usr/sbin/mysqld

Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: performance_schema
Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Phase 6/7: Checking and u
Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Running 'mysqlcheck' with
Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: # Connecting to localhost
Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: # Disconnecting from loca
Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Processing databases
Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: information_schema
Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: performance_schema
Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Phase 7/7: Running 'FLUSH
Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: OK

如果 MariaDB 没有运行,你可以使用以下命令启动它:sudo systemctl start mariadb

作为额外的检查,你可以尝试使用 mysqladmin 工具连接到数据库,这是一个允许你运行管理命令的客户端。例如,以下命令表示以 root 身份连接到 MariaDB 并使用 Unix 套接字返回版本:

sudo mysqladmin version

你的输出应该类似于以下内容:

mysqladmin  Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version          10.3.31-MariaDB-0+deb10u1
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/run/mysqld/mysqld.sock
Uptime:                 3 min 6 sec

Threads: 6  Questions: 473  Slow queries: 0  Opens: 175  Flush tables: 1  Open tables: 31  Queries per second avg: 2.543

如果你配置了一个单独的具有密码认证的管理用户,你可以通过运行以下命令执行相同的操作:

mysqladmin -u admin -p version
Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version          10.3.31-MariaDB-0+deb10u1
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/run/mysqld/mysqld.sock
Uptime:                 7 min 11 sec

Threads: 6  Questions: 474  Slow queries: 0  Opens: 175  Flush tables: 1  Open tables: 31  Queries per second avg: 1.099

这个输出意味着 MariaDB 已经启动,并且你的用户能够成功进行身份验证。

结论

在本指南中,你安装了 MariaDB 作为 SQL 服务器。在安装过程中,你还对服务器进行了安全设置。另外,你还可以选择创建一个单独的用户,以确保在软件包更新时能够对 MariaDB 进行管理访问。

现在你已经拥有一个运行和安全的 MariaDB 服务器,以下是一些你可以执行的下一步操作的示例:

  • 导入和导出数据库

你也可以将 MariaDB 集成到更大的应用程序堆栈中:

  • 如何在 Debian 10 上安装 Linux、Nginx、MariaDB、PHP(LEMP 堆栈)

标签:10,mariadb,软件包,debian,mysql,MariaDB,root,Debian
From: https://blog.csdn.net/rubys007/article/details/141574819

相关文章

  • 大模型训练学习攻略:100条实用建议与深入解析
    摘要:通过深入了解本文中的这些细节,并在实际项目中应用相关知识,将能够更好地理解和利用大模型的潜力,不仅在学术研究中,也在工程实践中。通过不断探索新方法、参与项目和保持热情,并将其应用于各种领域,从自然语言处理到计算机视觉和自动驾驶。通过不断学习、实践和探索,可以不断......
  • MURF1040CT-ASEMI无人机专用MURF1040CT
    编辑:llMURF1040CT-ASEMI无人机专用MURF1040CT型号:MURF1040CT品牌:ASEMI封装:ITO-220AB批号:最新恢复时间:35ns最大平均正向电流(IF):10A最大循环峰值反向电压(VRRM):400V最大正向电压(VF):1.05V~1.30V工作温度:-55°C~150°C芯片个数:2芯片尺寸:mil正向浪涌电流(IFMS):150AMURF1040CT特......
  • TC10B薄型成品天窗气楼:通风原理解析(昱合昇)
    TC10B薄型成品天窗气楼,高度低、抗风压性能强,是现代工业厂房,尤其是沿海台风区比较常用的一类通风设备。TC10B薄型成品天窗气楼性价比高,安装布置位置灵活,既可以安装布置在屋脊位置,也可以进行顺坡布置或是跨屋脊布置。TC10B薄型成品天窗气楼在市场中的广泛应用,与其良好的通风性......
  • 10种常见的黑客攻击、满足你的黑客梦,零基础入门到精通,收藏这一篇就够了
    1.跨站脚本(XSS)跨站脚本攻击是最为常见的一类网络攻击,它针对的是网站的用户,而不是web应用本身。恶意黑客在有漏洞的网站里注人一段代码,然后网站访容执行这段代码。此类代码可以人侵用户账户,激活木马程序,或者修改网站内容,诱骗用户给出私人信息。​设置web应用防火墙(W......
  • 10 个令人惊叹的 Python 自动化脚本!
                                                                            /01/剪贴板管理器你是否曾发现自己忙于处理多个文本片段,而忘记了自己复制了什么?有没有想过有一个工具可以记录你一天中......
  • AD采集卡:FMC210-1路1Gsps AD、1路2.5Gsps DA的FMC子卡 信号采集卡
    FMC210-1路1GspsAD、1路2.5GspsDA的FMC子卡  一、板卡概述   FMC-1AD2DA是我司自主研发的一款1路1GAD采集、1路2.5GDA回放的FMC子卡。板卡采用标准FMC子卡架构,可方便的与其他FMC板卡实现高速互联,可广泛用于高频模拟信号采集、雷达系统测试等场合。......
  • 题解:P10922 Happybob's Numbers (UBC001B)
    主要思路:贪心,构造。思路构造题,首先明确要删的就是小于\(n\)的数,因为若删了大于等于\(n\)的数就无法进行之后的操作了。那这道题就简单了,先从大到小排序,遇到小于当前长度\(k\)的数,就将这个数删掉,这时长度需减\(1\),毕竟顺序可以自己调,将下一个小于当前\(k\)的数,放到下一......
  • 题解:P11007 『STA - R7』Odtlcsu
    评价:简单构造。思路注意题目中的“如果有多解输出任意一种即可”。由于\(a\)与\(a^{2}\)的奇偶性必定是一致的,所以我们可以将情况分为两种。当\(x\)与\(y\)奇偶性不一致时,但由于\(a\)与\(a^{2}\)的奇偶性必定是一致的,所以始终无法构造出正确的序列。但注意题目......
  • 升级你的网络速度 QNAP QSW-1105-5T 2.5GbE交换机 即插即用 网速瞬间翻倍
    Hey小伙伴们,今天要给大家安利一款超赞的网络神器——QNAPQSW-1105-5T2.5GbE交换机!......
  • 29server:10001端口和设置防火墙
    1、允许10.225.65.143、10.225.6.29等IP访问10001端口sudoiptables-AINPUT-ptcp--dport10001 -s10.225.65.143-jACCEPTsudoiptables-AINPUT-ptcp--dport10001 -s10.225.6.29-jACCEPTsudoiptables-AINPUT-ptcp--dport10001 -s127.0.0.1 -jACCE......