Linux基础 - MariaDB 数据库管理系统

目录

零. 简介

一. 安装

二. 基本使用

1. 设置root密码

2. 创建库

3. 创建表

4.添加数据

5. 查看数据

三. 管理表单及数据

四. 数据库的备份及恢复


零. 简介

MariaDB 是一种流行的开源数据库管理系统,它是 MySQL 的一个分支。

MariaDB 保留了与 MySQL 的高度兼容性,同时在性能、功能和安全性方面进行了改进和增强。

以下是 MariaDB 的一些主要特点和优势:

  1. 开源免费:用户可以自由使用、修改和分发,降低了使用成本。
  2. 强大的性能:经过优化,能够处理大量的数据和高并发的请求。
  3. 丰富的功能:支持多种存储引擎、索引类型、事务处理等。
  4. 高可用性:通过复制、集群等技术实现数据的冗余和故障转移,保证服务的连续性。
  5. 安全性:提供了多种安全机制,如用户认证、访问控制、数据加密等。
  6. 活跃的社区支持:拥有庞大的开发者和用户社区,能够及时获得技术支持和更新。

MariaDB 广泛应用于各种规模的企业和项目中,用于存储和管理结构化数据,为 Web 应用、企业管理系统等提供数据支持。

一. 安装

在 Ubuntu 上安装 MariaDB 可以按照以下步骤进行:

更新软件包列表

sudo apt-get update

安装 MariaDB 服务器

sudo apt-get install mariadb-server

安装过程中,系统可能会提示您设置 root 用户的密码。

启动 MariaDB 服务

sudo systemctl start mariadb
sudo systemctl enable mariadb  # 开机自启

进行安全配置
运行以下命令进行一些基本的安全设置,例如设置远程访问权限等:

sudo mysql_secure_installation

按照提示进行操作,您可以设置强密码、禁止远程 root 登录等安全选项。

安装完成后,您就可以使用 MariaDB 了。可以通过命令行客户端 mysql -u root -p 登录并进行数据库管理操作。

二. 基本使用

1. 设置root密码

  1. 以 root 身份登录系统。

  2. 打开终端,使用以下命令登录到 MariaDB 数据库:

   sudo mysql -u root

在 MariaDB 命令行中,使用以下命令设置新密码:

   ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';

将 'your_new_password' 替换为您想要设置的实际密码。

执行完上述命令后,您已经成功为 MariaDB 的 root 用户设置了新密码。

请注意,密码应满足一定的复杂性要求以确保安全性。

退出 exit;

2. 创建库

在 MariaDB 中,您可以使用以下命令创建一个新的数据库。假设您要创建一个名为 mydatabase 的数据库:

CREATE DATABASE mydatabase;

执行此命令后,将创建一个名为 mydatabase 的新数据库。

3. 创建表

登录

选择库

您可以先使用以下命令选择要操作的数据库,例如,如果数据库名为 your_database_name :

USE your_database_name;

然后再执行创建表的语句。

假设要创建一个名为 students 的表,包含 id(整数类型,自增主键)、name(字符串,最大长度 50)和 age(整数)字段:

CREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50),age INT
);

4.添加数据

以下是向之前创建的 students 表中添加一条数据的示例,假设要添加一个学生的信息:

INSERT INTO students (name, age) VALUES ('张三', 20);

在上述示例中,name 的值为 张三age 的值为 20 

5. 查看数据

SELECT * FROM students;
SELECT name, age FROM students;

三. 管理表单及数据

在 MariaDB 中,对表单(通常称为表)及数据的管理涉及多种操作,以下是一些常见的操作示例:

更新数据:

   UPDATE students SET age = 21 WHERE name = '张三';

上述语句将名为 张三 的学生的年龄更新为 21 。

删除数据:

   DELETE FROM students WHERE age < 18;

此语句会删除年龄小于 18 岁的学生数据。

按照条件查询数据:

   SELECT * FROM students WHERE age > 20;

该语句查询年龄大于 20 岁的学生信息。

对数据进行排序:

   SELECT * FROM students ORDER BY age ASC;  -- 按照年龄升序排列(从小到大)SELECT * FROM students ORDER BY age DESC; -- 按照年龄降序排列(从大到小)

限制返回的行数:

   SELECT * FROM students LIMIT 10;  -- 返回前 10 行数据SELECT * FROM students LIMIT 5, 10;  -- 从第 6 行开始,返回 10 行数据

统计数据

   SELECT COUNT(*) FROM students;  -- 统计学生的总数SELECT AVG(age) FROM students;  -- 计算学生的平均年龄

分组数据:

   SELECT age, COUNT(*) FROM students GROUP BY age;

上述语句按照年龄对学生进行分组,并统计每个年龄组的学生数量。

这些只是一些基本的操作,MariaDB 提供了丰富的功能和语法来满足各种复杂的数据管理需求。

四. 数据库的备份及恢复

以下是 MariaDB 数据库备份和恢复的常见方法:

备份:

  1. 使用 mysqldump 命令进行逻辑备份:
    mysqldump -u username -p password database_name > backup.sql
    其中,username 是用户名,password 是密码,database_name 是要备份的数据库名称。

  2. 物理备份(适用于较大的数据库):

    • 直接复制数据库的数据文件,但在执行此操作时,需要先停止数据库服务以确保数据的一致性。

恢复:

  1. 从逻辑备份恢复(使用 mysql 命令):
    mysql -u username -p password database_name < backup.sql

  2. 物理恢复:

    • 停止数据库服务。
    • 将之前备份的数据文件复制回原来的位置。
    • 重新启动数据库服务。

在进行备份和恢复操作时,请务必小心谨慎,并确保您对操作的后果有清晰的了解。同时,建议在执行重要操作之前,先在测试环境中进行演练。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/39475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

独一无二的设计模式——单例模式(python实现)

1. 引言 大家好&#xff0c;今天我们来聊聊设计模式中的“独一无二”——单例模式。想象一下&#xff0c;我们在开发一个复杂的软件系统&#xff0c;需要一个全局唯一的配置管理器&#xff0c;或者一个统一的日志记录器&#xff1b;如果每次使用这些功能都要创建新的实例&…

IDEA中Maven的配置

目录 1. 安装maven 2. 配置环境变量 3. IDEA中配置Maven 4. 配置仓库目录 1. 安装maven 官网下载地址&#xff1a;Maven – Download Apache Maven 下载后&#xff0c;将zip压缩包解压到某个目录即可。 2. 配置环境变量 变量名称随意&#xff0c;通常为M2_HOME&#xff…

MySQL/SqlServer 跨服务器 增删改查(CRUD) 的一种方法

前言&#xff1a;主要是利用SqlServer 的链接服务器功能 1.准备一台 SqlServer Server&#xff0c;服务如下图&#xff1a; 这台服务器专门用于 链接服务器 IP&#xff1a;10.x.x.3 和数据源服务器&#xff08;10.x.x.5&#xff09; 在一个局域网 1.1 版本 是 2017 2.在 10.…

吴晓波:企业出海的最佳时间窗口只有5-10年,中国企业如何把握出海机遇?

鼓励企业参与绿色“一带一路”建设&#xff0c;带动先进的环保技术、装备、产能走出去。 出海计划&#xff01;马来西亚水环境项目国际考察暨2024中马水务合作论坛

初试总分409分,专业课143,西电821专业

非常感谢自己考研409分上岸西安电子科技大学&#xff0c;杭州研究院&#xff0c;专业课143分&#xff0c;跟的研梦&#xff0c;讲课以及答疑还是非常专业的。 821专业课课本总共有四本&#xff0c;都在官网考纲的参考书里写了&#xff0c;不过主要参考其中两本&#xff0c;一本…

网络爬虫基础知识

文章目录 网络爬虫基础知识爬虫的定义爬虫的工作流程常用技术和工具爬虫的应用1. 抓取天气信息2. 抓取新闻标题3. 抓取股票价格4. 抓取商品价格5. 抓取博客文章标题 网络爬虫基础知识 爬虫的定义 网络爬虫&#xff08;Web Crawler 或 Spider&#xff09;是一种自动化程序&…

Librechat快速部署指南

引言 Github的开源免费程序里&#xff0c;Librechat作为AI对话使用&#xff0c;现阶段可谓是最佳选择&#xff0c;配合聚合API >>进行使用&#xff0c;能够保证成本最低&#xff0c;自由度最高&#xff0c;私密性最强&#xff0c;功能丰富且界面美观&#xff0c;如此以来…

【黑龙江等保测评是如何评估的?】

黑龙江地区的等级评定&#xff0c;是根据国家有关的法律、法规、规范的规定&#xff0c;对该信息系统的安全性进行评价的。评估的具体程序和方法包括&#xff1a; 1.评价对象与范围的界定&#xff1a;一是要明确评价的目的与要求&#xff0c;二是要按照特定的要求来确定评价的…

MIX OTP——依赖项和总体项目

在本章中&#xff0c;我们将讨论如何管理 Mix 中的依赖项。 我们的 kv 应用程序已经完成&#xff0c;现在是时候实现处理我们在第一章中定义的请求的服务器了&#xff1a; 但是&#xff0c;我们不会向 kv 应用程序添加更多代码&#xff0c;而是将 TCP 服务器构建为另一个应用程…

CQ 社区版2.13.3 | 支持全局开启OTP登录、文本导入功能可独立控制……

又到一月一度的 CloudQuery 发版时间啦&#xff01; 本次版本更新&#xff0c;对多个模块进行了功能的优化和完善&#xff0c;比如将文本导入与 insert 权限脱离使文本导入可单独控制&#xff1b;将工具权限与权限等级脱离&#xff0c;使其能独立授权和提权&#xff1b;操作模…

DLS平台:运价持续上涨,未来航运市场何去何从?

摘要&#xff1a; 近期&#xff0c;上海出口集装箱结算运价指数&#xff08;SCFIS&#xff09;欧洲航线连续10周上涨&#xff0c;涨幅高达151%。随着多家航运公司宣布涨价&#xff0c;市场供应紧张导致运价居高不下。本文将详细分析当前运价上涨的原因、航运市场的变化及未来运…

Linux:文件系统与日志分析

一、block与inode 1.1、概述 文件是存储在硬盘上的&#xff0c;硬盘的最小存储单位叫做“扇区”(sector)&#xff0c;每个扇区存储512字节。 一般连续八个扇区组成一个"块”(block)&#xff0c;一个块是4K大小&#xff0c;是文件存取的最小单位。 文件数据包括实际数据…

linux 环境报错:Peer reports incompatible or unsupported protocol version

出现问题的原因&#xff1a; curl 不兼容或不支持的协议版本。 解决方案&#xff1a; yum update -y nss curl libcurl如此继续之前的操作即可。

(九)绘制彩色三角形

前面的学习中并未涉及到颜色&#xff0c;现在打算写一个例子&#xff0c;在顶点着色器和片元着色器中加入颜色&#xff0c;绘制有颜色的三角形。 #include <glad/glad.h>//glad必须在glfw头文件之前包含 #include <GLFW/glfw3.h> #include <iostream>void …

我爱服务器——LVM实战学习

后来呀&#xff0c;天亮之前毕业后踏入服务器领域了。。。。。。 LVM&#xff08;Logical Volume Manager&#xff09;是一个高级的磁盘管理框架&#xff0c;它允许用户将多个物理硬盘组合成一个逻辑卷&#xff0c;从而提供更大的存储空间、更高的灵活性和更好的数据管理能力。…

Eclipse + GDB + J-Link 的单片机程序调试实践

Eclipse GDB J-Link 的调试实践 本文介绍如何创建Eclipse的调试配置&#xff0c;如何控制调试过程&#xff0c;如何查看修改各种变量。 对 Eclipse 的要求 所用 Eclipse 应当安装了 Eclipse Embedded CDT 插件。从 https://www.eclipse.org/downloads/packages/ 下载 Ecli…

C++ 快速行进方法(二维)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 假设给你一个将一个区域与另一个区域分开的界面,以及告诉你如何移动界面上每个点的速度F。下图中,黑色曲线将内部深蓝色与外部浅蓝色分开,黑色曲线的每个点都给出了速度F。此外,假设速度F始终为正,即前端始终向…

java面试课程-SpringIOC部分源码解析

1.SpringIOC的refresh源码解析 核心&#xff1a; 核心使用的是&#xff1a; 需要完成配置类的解析&#xff0c;各种BeanFactoryProcessor的注册。还有写国际化配置的初始化。Web容器的内部构造。 上面几个方法是refresh方法的内容。注意可以与applicationContext里的内容一起…

第十四章 路由器 OSPF 动态路由配置

实验目的 掌握 OSPF 协议的配置方法&#xff1a; 掌握查看通过动态路由协议 OSPF 学习产生的路由&#xff1b; 熟悉广域网线缆的链接方式&#xff1b; 实验背景 假设校园网通过一台三层交换机连到校园网出口路由器上&#xff0c; 路由器再和校园外的另一台路由器连接。…

【0299】Postgres内核之哈希表(Hash Tables)

0. 哈希表(Hash Tables) 哈希表是 一种用于存储键值对的数据结构。与使用索引号访问元素的基本数组不同,哈希表使用键来查找表条目。这使得数据管理对于用户来说更易于管理,因为按属性对数据条目进行分类比按它们在一个巨大的列表中的数量更容易。 在 C++ 中,我们将哈希…