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

news2024/12/21 17:16:41

目录

零. 简介

一. 安装

二. 基本使用

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.coloradmin.cn/o/1888074.html

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

相关文章

学习笔记——动态路由——OSPF(工作原理)

九、OSPF协议的工作原理 1、原理概要 (1)相邻路由器之间周期性发送HELLO报文&#xff0c;以便建立和维护邻居关系。 (2)建立邻居关系后&#xff0c;给邻居路由器发送数据库描述报文(DD)&#xff0c;也就是将自己链路状态数据库中的所有链路状态项目的摘要信息发送给邻居路由器…

提高页面性能:懒加载和预加载都是啥原理。

懒加载&#xff08;Lazy Loading&#xff09;和预加载&#xff08;Preloading&#xff09;是在 Web 开发中常用的两种优化技术&#xff0c;用于提高页面性能和用户体验。那他们之间有什么不同&#xff0c;又有哪些应用场景呢&#xff0c;本文给小伙伴们分享下。 一、懒加载 懒…

【Python】已解决:ERROR: No matching distribution found for JPype1

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;ERROR: No matching distribution found for JPype1 一、分析问题背景 在安装Python的第三方库时&#xff0c;有时会遇到“ERROR: No matching distribution fo…

three.js地理坐标系有哪些,和屏幕坐标系的转换。

坐标系很好理解&#xff0c;就是点线面体的位置&#xff0c;一个点是一个坐标&#xff0c;一条线段2个坐标&#xff0c;一个矩形四个坐标&#xff0c;一个立方体8个坐标&#xff0c;three.js面对的是三维空间&#xff0c;屏幕则是二维的&#xff0c;这就面临着转换问题&#xf…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《面向电网调峰的电动汽车聚合商多层级实时控制策略》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

从零开始使用 Docsify 搭建文档站点

引言 在当今的技术环境中&#xff0c;拥有一份易于访问和美观的文档是至关重要的。Docsify 是一个非常适合快速搭建文档站点的工具&#xff0c;它简单易用&#xff0c;且不需要生成静态文件。本文将带你一步步从零开始使用 Docsify 搭建一个文档站点。 1. 安装 Node.js 和 np…

【面试干货】值传递与引用传递:理解Java中的参数传递机制

【面试干货】值传递与引用传递&#xff1a;理解Java中的参数传递机制 1、值传递&#xff08;Call by Value&#xff09;2、引用传递&#xff08;Call by Reference&#xff09;3、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 值传递…

O2OA(翱途)开发平台 V9.1 即将发布,更安全、更高效、更开放

尊敬的O2OA(翱途)平台合作伙伴、用户以及亲爱的开发小伙伴们&#xff0c;O2OA(翱途)平台 V9.1将于7月3日正式发布&#xff0c;届时欢迎大家到O2OA官网部署下载及体验最新版本。新版本我们在如下方面做了更大的努力&#xff1a; 1.扩展数据库兼容性和功能范围&#xff1a;在O2OA…

前端技术(说明篇)

Introduction ##编写内容&#xff1a;1.前端概念梳理 2.前端技术种类 3.前端学习方式 ##编写人&#xff1a;贾雯爽 ##最后更新时间&#xff1a;2024/07/01 Overview 最近在广州粤嵌进行实习&#xff0c;项目名称是”基于Node实现多人聊天室“&#xff0c;主要内容是对前端界…

libigl对matlab链接不成功问题的解决办法

libigl使用matlab时出现以下问题&#xff1a; 即使在头文件中添加了 #include <igl/matlab/matlabinterface.h>在cmakelists.txt中添加了 target_link_libraries(${PROJECT_NAME} "C:\\F\\matlab_install\\extern\\lib\\win64\\microsoft\\libeng.lib") t…

bash条件判断基础adsawq1`1nn

判断的作用 判断后续操作的提前条件是否满足如果满足执行一种命令不满足则执行另一种指令 条件测试类型&#xff1a; 整型测试字符测试文字测试 整数测试&#xff1a;比较两个整数谁大谁小&#xff0c;是否相等&#xff1b; 二元测试&#xff1a; num1 操作符 num2 -eq: 等于…

Spring boot 更改启动LOGO

在resources目录下创建banner.txt文件&#xff0c;然后编辑对应的图案即可 注释工具 Spring Boot Version: ${spring-boot.version},-.___,---.__ /|\ __,---,___,- \ -.____,- | -.____,- // -., | ~\ /~ | …

kafka 生产者 API 实践总结

文章目录 前言创建 kafka 生产者同步与异步发送消息同步发送异步发送 生产者参数配置client.idacks消息传递时间 序列化器在Kafka中使用Avro记录 分区标头拦截器配额和节流 前言 kafka 对外提供的 API 主要有两类&#xff1a;生产者 API 和 消费者 API&#xff0c;本文将从Kaf…

推荐 2 个本周 火火火火 的开源项目

01 微软新手课程&#xff1a;生成式AI入门 在人工智能的浪潮中&#xff0c;生成式AI&#xff08;Generative AI&#xff09;以其创造力和应用潜力成为焦点。微软推出的 “generative-ai-for-beginners” 课程&#xff0c;为初学者提供了一个全面了解和学习生成式AI的平台。 1️…

SpringBoot怎么单独关闭某个类打印出来的日志?

application.yml文件增加以下内容&#xff1a; logging:level:org.springframework.amgp.rabbit: OFF 配置logging:level是配置的什么&#xff1f; 在application.yml文件中配置logging.level是用来设置日志级别的。这是Spring Boot应用中的一个常用配置&#xff0c;它允许您…

煤矿安全大模型:微调internlm2模型实现针对煤矿事故和煤矿安全知识的智能问答

煤矿安全大模型————矿途智护者 使用煤矿历史事故案例,事故处理报告、安全规程规章制度、技术文档、煤矿从业人员入职考试题库等数据,微调internlm2模型实现针对煤矿事故和煤矿安全知识的智能问答。 本项目简介: 近年来,国家对煤矿安全生产的重视程度不断提升。为了确…

SpringCloud基础篇

文章目录 创建新模块拷贝yml配置文件修改配置文件的信息修改pom.xml文件启动入口拷贝相关文件接口文档配置配置启动项注册中心原理Nacos注册中心创建nacos数据库存储数据部署nacos在docker容器中 服务注册引入依赖配置Nacos地址启动 服务发现(调用)引入依赖配置nacos地址发现并…

Webpack: 插件架构之Hook体系

概述 Webpack 之所以能够应对 Web 场景下极度复杂、多样的构建需求&#xff0c;关键就在于其健壮、扩展性极强的插件架构&#xff0c;而插件架构的精髓又在于其灵活多变的 Hook 体系&#xff0c;可以说&#xff0c;只有真正掌握 Hook 底层设计与实现逻辑&#xff0c;深入理解不…

qt 开发笔记堆栈布局的应用

1.概要 画面中有一处位置&#xff0c;有个按钮点击后&#xff0c;这片位置完全换成另一个画面&#xff0c;这中情况特别适合用堆栈布局。 //堆栈布局的应用 #include <QStackedLayout> QStackedLayout *layout new QStackedLayout(this); layout->setCurrentIndex(…