开源 Linux 服务器与中间件(八)数据库--MariaDB

文章的目的记录所使用的的Linux服务器和中间件的配置和使用,防止时间太长忘记,进行重复工作。

相关链接:

开源 Linux 服务器与中间件(一)基本介绍

开源 Linux 服务器与中间件(二)嵌入式Linux服务器和中间件

开源 Linux 服务器与中间件(三)服务器--Nginx

开源 Linux 服务器与中间件(四)服务器--Tomcat

开源 Linux 服务器与中间件(五)服务器--Boa

开源 Linux 服务器与中间件(六)服务器--Lighttpd

开源 Linux 服务器与中间件(七)数据库--MySQL

开源 Linux 服务器与中间件(八)数据库--MariaDB

开源 Linux 服务器与中间件(九)数据库--SQLite3

开源 Linux 服务器与中间件(十)Mqtt协议和Emqx服务器安装测试

开源 Linux 服务器与中间件(十一)Emqx服务器消息的订阅和发送(mqtt测试)

推荐链接:

linux C 语言开发 (一) Window下用gcc编译和gdb调试

linux C 语言开发 (二) VsCode远程开发 linux

linux C 语言开发 (三) 建立云服务器

linux C 语言开发 (四) linux系统常用命令

linux C 语言开发 (五) linux系统目录结构

linux C 语言开发 (六) 程序的编辑和编译(vim、gcc)

linux C 语言开发 (七) 文件 IO 和标准 IO

linux C 语言开发 (八) 进程基础

linux C 语言开发 (九) 进程间通讯--管道

linux C 语言开发 (十) 进程间通讯--信号

linux C 语言开发 (十一) 进程间通讯--共享内存

linux C 语言开发 (十二) 进程间通讯--消息队列

Linux C到Android App开发推荐链接(入门十二章):

开源 java android app 开发(一)开发环境的搭建_csdn 开源 java android app-CSDN博客

开源 java android app 开发(一)开发环境的搭建-CSDN博客

开源 java android app 开发(二)工程文件结构-CSDN博客

开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客

开源 java android app 开发(四)GUI界面重要组件-CSDN博客

开源 java android app 开发(五)文件和数据库存储-CSDN博客

开源 java android app 开发(六)多媒体使用-CSDN博客

开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客

开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客

开源 java android app 开发(九)后台之线程和服务-CSDN博客

开源 java android app 开发(十)广播机制-CSDN博客

开源 java android app 开发(十一)调试、发布-CSDN博客

开源 java android app 开发(十二)封库.aar-CSDN博客

linux C到.net mvc开发推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

内容:MariaDB数据库功能,如何安装和测试。

目录

1.MariaDB数据库功能

2.MariaDB数据库安装

3.MariaDB数据库测试

一、MariaDB数据库功能

MariaDB 是一个开源、社区开发、关系型数据库管理系统,由 MySQL 的原始开发者创建,旨在保持与 MySQL 的高兼容性,同时提供更开放、更安全和性能更优的替代方案。

核心功能:

  1. 关系型数据库管理: 使用 SQL 语言进行数据管理,支持表、视图、存储过程、触发器、外键等。

  2. 高兼容性: 与 MySQL 在命令、API 和协议上高度兼容,大多数情况下可以直接替换 MySQL 而无需修改代码。

  3. 高性能: 引入了多种先进的存储引擎,如:

    • InnoDB: 默认引擎,支持事务、行级锁和外键,保证 ACID 特性。

    • Aria: 用于内部临时表和系统表,崩溃后可以恢复。

    • ColumnStore: 为数据仓库和大型分析查询而设计。

    • MyISAM: (早期 MySQL 的默认引擎)适用于读多写少的场景。

  4. 安全性与加密: 提供数据传输加密、静态数据加密、用户权限管理等多种安全功能。

  5. 可扩展性与高可用性: 支持主从复制、主主复制、Galera Cluster 多主集群,满足高可用和负载均衡需求。

  6. 开源与社区驱动: 完全开源,由一个活跃的社区维护,避免了被单一商业公司控制的风险。

主要用途:

  • Web 应用程序数据库: 作为 LEMP/LAMP 堆栈的一部分,为 WordPress、Drupal、Joomla 等众多流行网站和 CMS 系统提供数据存储。

  • 数据分析和报告: 处理和分析结构化数据。

  • 嵌入式系统: 由于其轻量级和可定制性,可用于嵌入式设备。

  • 作为 MySQL 的替代品: 对于担心 Oracle 对 MySQL 控制权的用户,MariaDB 是首选替代方案。

二、MariaDB数据库安装

使用过vscode 链接百度云进行安装

步骤 1:更新软件包索引

首先,打开终端,确保您的软件包列表是最新的。

复制代码
sudo apt update

步骤 2:安装 MariaDB 服务器

mariadb-server 包会自动引入 mariadb-client 等必要的依赖包。

复制代码
sudo apt install mariadb-server

在安装过程中,系统可能会提示您设置 root 密码,但在后续版本中,默认使用了一种更安全的身份验证方式。我们将在安装后进行安全配置。

步骤 3:(可选但强烈推荐)运行安全安装脚本

MariaDB 提供了一个脚本,可以帮助您提高安装的安全性,例如设置 root 密码、移除匿名用户、禁止远程 root 登录等。

复制代码
sudo mysql_secure_installation

您将看到一系列提示:

Enter current password for root (enter for none): 初始安装后 root 密码为空,直接按 Enter。

Switch to unix_socket authentication [Y/n]: 这为 root 用户提供了另一种更安全的身价验证方式。推荐输入 Y 并按 Enter。

Change the root password? [Y/n]: 是否设置 root 密码?强烈建议输入 Y 并设置一个强密码。

Remove anonymous users? [Y/n]: 是否删除匿名测试用户?输入 Y。

Disallow root login remotely? [Y/n]: 是否禁止 root 用户远程登录?输入 Y(出于安全考虑,通常只允许本地登录)。

Remove test database and access to it? [Y/n]: 是否删除名为 'test' 的测试数据库?输入 Y。

Reload privilege tables now? [Y/n]: 是否立即重新加载权限表使更改生效?输入 Y。

至此,MariaDB 已经安装并进行了基本的安全加固。

三、MariaDB数据库测试

  1. 连接到 MariaDB 服务器

使用 root 用户和您刚才设置的密码登录到 MariaDB 控制台。

复制代码
sudo mysql -u root -p

系统会提示您输入密码,输入后即可进入 MariaDB 的交互式终端,提示符变为 MariaDB [(none)]>。

注意: 在 Ubuntu 上,默认配置下,使用 sudo 来以系统超级用户权限连接数据库,是访问 root 数据库账户的推荐方式。

  1. 执行基本 SQL 命令进行测试

在 MariaDB 提示符下,您可以执行 SQL 命令。

显示所有数据库:

sql

复制代码
SHOW DATABASES;

创建一个新的测试数据库:

sql

复制代码
CREATE DATABASE test_db;

使用这个数据库:

sql

复制代码
USE test_db;

创建一张新表:

sql

复制代码
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100)
);

向表中插入数据:

sql

复制代码
INSERT INTO users (username, email) VALUES ('zhangsan', 'zhangsan@example.com');
INSERT INTO users (username, email) VALUES ('lisi', 'lisi@example.com');

查询表中的数据:

sql

复制代码
SELECT * FROM users;

您应该能看到刚才插入的两条记录。

退出 MariaDB 控制台:

sql

复制代码
EXIT;
  1. 使用命令行进行简单查询

您也可以不进入交互模式,直接在 终端中执行命令并查看结果。

复制代码
sudo mysql -u root -p -e "SHOW DATABASES;"
  1. 检查 MariaDB 服务状态

确保 MariaDB 服务正在运行。

复制代码
sudo systemctl status mysql
# 或者在某些旧系统上可能是
# sudo systemctl status mariadb

如果服务没有运行,可以使用以下命令启动并设置开机自启:

复制代码
sudo systemctl start mysql
sudo systemctl enable mysql
相关推荐
卡尔AI工坊20 分钟前
2026年3月,我实操后最推荐的3个AI开源项目
人工智能·开源·ai编程
NineData11 小时前
NineData 迁移评估功能正式上线
数据库·dba
NineData16 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师19 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
Jahzo19 小时前
openclaw本地化部署体验与踩坑记录--飞书机器人配置
人工智能·开源
Jahzo21 小时前
openclaw本地化部署体验与踩坑记录--windows
开源·全栈
全栈老石1 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
冬奇Lab1 天前
一天一个开源项目(第39篇):PandaWiki - AI 驱动的开源知识库搭建系统
人工智能·开源·资讯
HelloGitHub1 天前
这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体
开源·github·agent