开源 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
相关推荐
FIT2CLOUD飞致云3 小时前
飞致云播客丨揭秘JumpServer PAM核心功能的设计故事
开源
华仔啊4 小时前
这20条SQL优化方案,让你的数据库查询速度提升10倍
数据库·后端·mysql
赵庆明老师4 小时前
C# 结合Redis Cache 访问MySQL数据库
数据库·redis·c#
IvorySQL4 小时前
为IvorySQL增添PACKAGE语法帮助
数据库·postgresql
数字化脑洞实验室4 小时前
商业求解器和开源求解器哪个更适合企业?
开源
哈皮Superman4 小时前
【Research】MagicFuzzer: Scalable deadlock detection for large-scale applications
java·开发语言·数据库
自由会客室4 小时前
Ubuntu 24.04上安装MySQL 8.0
数据库·mysql
wanhengidc5 小时前
站群服务器都有什么作用
服务器·安全·智能手机·玩游戏
徐sir(徐慧阳)5 小时前
搭建属于自己的网站HEXO静态页(二)发布网站到gihub
服务器·node.js·github·hexo