Linux学成之路(基础篇)(二十三)MySQL服务(上)

news2025/1/9 16:54:26

目录

一、概述

一、什么是MySQL

二、数据库能干什么

三、为什么要用数据库,优势、特性?

二、数据库类型

一、关系型数据库 RDBMS

一、概述

二、特点

三、代表产品

二、非关系型数据库

一、概述

二、特点

三、代表产品

三、数据库模型

一、层次性数据库模型

二、网状型数据库模型

三、关系型数据库模型

四、MySQL安装

一、yum安装

修改密码

二、rpm安装

下载安装包

安装软件包​编辑​编辑

启动服务登录

五、MySQL配置

一、主配置文件

/etc/my.cnf

拓展配置项

rpm安装


一、概述

一、什么是MySQL

        MySQL是一种开源的关系型数据库管理系统(RDBMS)。它是最流行和广泛使用的关系型数据库之一,被许多Web应用程序和软件开发人员用作其后端数据库。

        MySQL支持跨多个平台的各种操作系统,包括Linux、Windows和macOS等。它采用客户端-服务器模式,其中MySQL服务器负责存储和管理数据,而客户端应用程序可以通过网络连接到服务器,并执行数据库操作,如查询、插入、更新和删除数据等。

        MySQL提供了强大的功能和功能,包括标准的SQL查询语言支持、索引、事务处理、外键约束、触发器、存储过程和视图等。它还具有良好的性能和可扩展性,可以处理大量数据和并发请求。

        由于MySQL是开源的,因此它具有良好的社区支持和活跃的开发者社区。此外,MySQL也有商业版本(MySQL Enterprise Edition),提供了额外的高级功能和支持服务。

二、数据库能干什么

        数据存储:数据库可以持久地存储大量结构化数据,包括文本、数字、图像、音频和视频等。

        数据访问和检索:数据库提供了强大的查询语言,例如SQL,用于快速和有效地检索所需的数据。通过查询,可以从大量数据中提取特定的信息。

        数据更新和修改:数据库允许用户对数据进行插入、更新和删除操作,以保持数据的最新状态。

        数据安全性和权限管理:数据库允许对数据进行安全控制,通过用户认证和授权机制,只允许授权用户访问特定的数据。

        数据一致性和完整性:数据库提供了事务处理机制,确保数据的一致性和完整性。可以在多个操作之间创建事务,以确保数据的正确性。

        数据备份和恢复:数据库可以进行定期备份,以防止数据丢失或故障。这样可以在需要时恢复数据,确保数据的可靠性和持久性。

        数据共享和协作:数据库可以提供多用户共享数据的能力,多个用户可以同时访问和操作数据库中的数据,促进协作和团队工作。

        数据分析和报告:数据库可以支持数据分析和生成报告,通过复杂的查询和聚合操作,可以从数据中提取有用的信息,并生成统计数据和报告。

三、为什么要用数据库,优势、特性?

        数据持久性和可靠性:数据库将数据持久地存储在磁盘上,即使在系统故障或断电情况下,数据也不会丢失。数据库还提供了备份和恢复机制,以防止数据丢失。

        数据共享和协作:数据库允许多个用户同时访问和操作数据,促进团队协作和数据共享。这使得不同部门或用户可以共享相同的数据集,提高工作效率和协同工作能力。

        数据一致性和完整性:数据库提供事务处理机制,确保数据的一致性和完整性。事务可以用于执行一系列操作,并要么全部成功提交,要么全部回滚。这确保了数据的正确性和一致性。

        数据安全性和权限管理:数据库提供了安全控制和权限管理机制,只允许授权用户访问特定的数据。通过用户认证和授权策略,可以限制对数据的访问,并保护数据的机密性和完整性。

        高效的数据访问和检索:数据库提供了强大的查询语言(如SQL),可以快速和高效地检索所需的数据。数据库还支持索引和优化技术,以提高查询性能和响应时间。

        数据的可扩展性:数据库可以处理大量的数据,支持可扩展性和高并发访问。通过水平扩展和集群技术,可以将数据库分割成多个节点,提高处理能力和负载均衡。

        数据分析和报告:数据库支持复杂的数据分析和报告生成。通过查询和聚合操作,可以从数据中提取有用的信息,并生成统计数据和可视化报告,帮助决策和业务分析。

        支持多种数据模型:数据库支持多种数据模型,如关系型数据库模型、文档数据库模型、键值数据库模型等,根据不同的应用需求选择适合的数据模型。

二、数据库类型

一、关系型数据库 RDBMS

一、概述

        关系型数据库是一种使用表格来展示和管理数据的数据库,关系型数据库的核心是数据之间的关系,因此也叫做“关系数据库”。RDBMS可以让用户很容易地使用和管理这些关系

二、特点

便于查询和操作                   SQL语句
结构化数据                          使用行和列存放数据
数据的一致性和完整性        各种约束条件
并发性                                 支持多用户连接的隔离性

三、代表产品

        MySQL                 瑞典MYSQL AB公司开发,现由甲骨文公司管理

        PostgreSQL         PostgreSQL全球开发组开发的免费的开源的数据库管理系统

二、非关系型数据库

一、概述

        NoSQL(Not only SQL)是一种非关系型数据库模型,其数据存储和查询机制与传统的关系型数据库不同

二、特点

非结构化数据                            文本、图像、媒体等
分布式存储                                分布在多个节点中,实现高并发
没有固定的规范模式                  无需定义表和列,不强制要求结构
高可伸缩性                                支持水平扩展,增加或删除节点
高性能                                       高速读写操作,比传统的关系型数据库效率要高

三、代表产品

        MongoDB             一款基于文档存储模型的非关系型数据库软件

        Redis            一款基于内存存储的非关系型数据库,与MongoDB一样广泛应用于互联网领域, Redis常用于快速读写操作、缓存等场景

三、数据库模型

一、层次性数据库模型

        1966年,IBM研究员Codd提出层次结构模型
        它的数据结构如同树状结构。每个节点都只有一个父节点,但可以有多个子节点
        这种模型存在层次结构复杂、扩展性差、数据操作限制等问题

二、网状型数据库模型

        1969年,CODASYL工作组发布了网络模型
        它使用复杂链表来表示数据之间的关系,并增加了数据结构的灵活性和递归处理能力,从而解决了层次结构模型的一些问题
        解决了层次结构模型的一些问题。但是网络模型需要了解复杂的物理存储结构,对程序设计人员的要求比较高

三、关系型数据库模型

        1970年,Codd提出了关系型模型,也就是目前SQL和RDBMS所采用的模型
        关系型模型基于二维表格的结构组织数据,每个表格称为关系,每行记录代表一个实体,每列记录代表一个属性。关系之间通过主键和外键进行关联
        它具有数据结构简单、数据组织规范、数据操作强大、数据完整性可控等优点,是目前应用最广泛的数据库模型

四、MySQL安装

一、yum安装

        yum -y install mariadb mariadb-server

         安装成功后可直接登录

修改密码

        show databases  (展示数据库)         注意        命令输入完成后加上;(表示完整命令)

         use MySQL        进入数据库 mysql

        show tables        展示数据表

        创建root用户使用新的密码

         表示有此用户   删除用户后   重新创建新用户

         给root用户赋予权限,可以给其他用户赋予权限

        刷星配置,保存退出

        用户登录验证

二、rpm安装

下载安装包

 需连通网络(关闭防火墙、selinux、)

安装软件包

        出现错误

         解决错误1        解决错误2

           rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

           yum -y install mysql-server

        重新安装

启动服务登录

        提示密码错误拒绝访问

        解决问题 1          使用户可以临时登录

        grep 'temporary password' /var/log/mysqld.log

        解决问题2         修改配置文件,跳过验证密码表,登录mysql,修改用户密码

        展示数据库

         进入数据库

         展示数据表

         刷新配置

        查看用户

         树状查看用户

        删除用户 创建用户 ,赋予权限,刷新配置,保存退出

        修改配置文件,取消跳过密码验证表

        重启服务,使用用户密码验证

五、MySQL配置

一、主配置文件

/etc/my.cnf

        [mysqld]            [mysqld]"表示该段配置是针对MySQL服务器的
        datadir=/var/lib/mysql
        socket=/var/lib/mysql/mysql.sock
        log-error=/var/log/mysql/mysql-error.log
        pid-file=/var/run/mysql/mysql.pid
        max_connections=500
        character-set-server=utf8mb4
        collation-server=utf8mb4_unicode_ci
        [mysql]            [mysql]"中的配置项表示该段配置是针对MySQL客户端的
        default-character-set=utf8mb4

拓展配置项

        port:MySQL端口号
        log_warnings:设置错误日志是否记录警告信息
        slow_query_log_file:慢日志文件路径名
        long_query_time:当查询时间超过指定的秒数时,会被记录到慢日志中
        innodb_buffer_pool_size:InnoDB缓存池大小
        join_buffer_size:用于JOIN操作的缓存大小
        max_allowed_packet:MySQL允许传输的最大数据包大小
        skip_name_resolve:禁用DNS解析

二、数据库目录结构

rpm安装

        mysql:存储MySQL的数据文件和表结构定义等。
        mysql-files:存放需要MySQL账户权限的文件。
        mysql-keyring:存放加密密钥,以供MySQL使用。
        mysql.sock:MySQL服务器的Unix套接字文件。
        ib_logfile0和ib_logfile1:InnoDB引擎的事务日志文件。
        ibdata1:InnoDB引擎的数据文件,包括表数据和索引等。
        *.err:MySQL错误日志文件,记录MySQL运行时的错误和警告等信息。
        *.pid:MySQL进程ID文件,存储MySQL进程的进程号。

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

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

相关文章

【GEE笔记】主成分分析(PCA)算法的实现和应用

前言 主成分分析(PCA)是一种常用的降维方法,它可以将多个相关的变量转换为少数几个不相关的变量,称为主成分(PC)。这些主成分可以反映原始变量的大部分信息,同时减少数据的复杂度和冗余性。在遥…

结构型设计模式之组合模式【设计模式系列】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everythi…

【nginx】nginx中root与alias的区别:

文章目录 root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。 root的处理结果是:root路径+location路径 alias的处理结果是:使用alias路径替换location路径 alias是一…

前端配置nginx反向代理

1.下载nginx 2.进入nginx.conf 3.配置 4.将nginx放入前端项目根目录 5.启动后端项目和nginx服务 启动命令 start nginx ; 重新启动命令 nginx -s reload 6.访问localhost就能看到项目了(默认80端口) 注意:如果nginx配置了域名&#xff0…

Android ConstraintLayout使用攻略

原文链接 Android ConstraintLayout使用攻略 ConstraintLayout是新一代的布局,它汲取了众家之长,把布局的概念进行了大统一,灵活且强大,基本上可以干掉以前所有的常用布局(LinearLayout, RelativeLayout和FrameLayout…

94.qt qml-分页Table表格组件

在我们之前学习了87.qt qml-分页组件控件(支持设置任意折叠页数等)_qt分页控件_诺谦的博客-CSDN博客 然后我们又学习了Table实现,所以本章实现一个分页Table表格组件,配合分页控件, 模拟请求服务器数据来实现数据分解效果,因为一般使用分页的时候,一般都是分页请求,避免数…

Flutter的开发环境搭建-图解

前言:Flutter作为一个移动应用开发框架,具有许多优点和一些局限性。最大的优点就是-跨平台开发:Flutter可以在iOS和Android等多个平台上进行跨平台开发,使用一套代码编写应用程序,节省开发时间和成本。 Flutter可以编…

python将大文件拆分为多个小文件

如上图,目前采用单行不停写入的方式,这里是读了两次文件,第一次读取文件是为了获取总行数,第二次读取是取数据内容。 如果只读取一次文件,则会对内存有一定的要求,会需要在第一次读取数据的时候就将文件内…

ONNX Runtime 加速深度学习(C++ 、python)详细介绍

ONNX Runtime 加速深度学习(C 、python)详细介绍 本文在 https://blog.csdn.net/u013250861/article/details/127829944 基础上进行了更改,感谢原作! ONNXRuntime(Open Neural Network Exchange)是微软推出的一款针对ONNX模型格式的推理框架&#xff0c…

Redis常用数据类型和使用场景

Redis目前支持5种数据类型,分别是: String(字符串) List(列表) Hash(字典) Set(集合) Sorted Set(有序集合) 下面就分别介绍这五…

Qt Core学习日记——第六天QMetaMethod

Qt子类会将每一个函数封装成QMetaMethod存储在对应的QMetaObject中,包括信号、槽函数、普通函数、构造函数、析构函数 函数解析 QMetaMethod::methodSignature 获取方法的签名 比如函数slot2,对应签名是“slot2(int*)” QMetaMethod::name 方法名称。…

13.2.3 【Linux】新增与移除群组

基本上,群组的内容都与这两个文件有关:/etc/group, /etc/gshadow。 群组的内容其实很简单,都是上面两个文件的新增、修改与移除而已。 groupadd 为了让使用者的 UID/GID 成对,建议新建的与使用者私有群组无关的其他群组时&#x…

RabbitMQ入门,springboot整合RabbitMQ

周末的两天没有写文章,因为项目分离出来了一个权限管理平台,花了一点时间整理项目,同时完成了一些功能的开发。 今天这篇文章介绍一下RabbitMQ这个消息中间件,以及通过springboot整合RabbitMQ。 目录 一、初步了解RabbitMQ 二、…

学Java有哪些就业方向?

俗话说:男怕入错行,女怕嫁错郎。众所周知,选工作就是选行业,行业和方向选对了,个人的发展就会随着行业风向青云直上,比同龄人更快的积累到财富。那究竟未来什么会是热门行业呢?这个真的很难预测&#xff0…

【1++的C++初阶】之模板(二)

👍作者主页:进击的1 🤩 专栏链接:【1的C初阶】 文章目录 一,非类型模板参数二,模板特化三,模板分离编译 一,非类型模板参数 模板参数分为类类型模板参数与非类型模板参数。 类类型形…

【雕爷学编程】Arduino动手做(167)---MG996R金属齿轮舵机2

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

苹果“空间音频导航”专利曝光,提供导航指引,跟声音走就对啦?

近日,苹果公司成功申请一项专利,该专利名为“空间音频导航”,该专利详细说明了如何利用双耳音频设备(AirPods或Apple Vision Pro)为用户提供导航指引。 “空间音频导航”是一种模拟声音来源方向和距离的技术&#xff0…

STM32MP157驱动开发——按键驱动(POLL 机制)

文章目录 “POLL ”机制:APP执行过程驱动使用的函数应用使用的函数pollfd结构体poll函数事件类型实现原理 poll方式的按键驱动程序(stm32mp157)gpio_key_drv.cbutton_test.cMakefile修改设备树文件编译测试 “POLL ”机制: 使用休眠-唤醒的方式等待某个…

c# Outlook检索设定问题

基于c# 设定outlook约会予定,时间格式是YYYY-MM-DD HH:mm 的情报。 问题发生: 根据开始时间(2023/01/01 7:00)条件查询该时间是否存在outlook信息时,明明存在一条数据,就是查询不出来数据 c#代码 Strin…

单源最短路的扩展应用

AcWing 1137. 选择最佳线路 有一天,琪琪想乘坐公交车去拜访她的一位朋友。 由于琪琪非常容易晕车,所以她想尽快到达朋友家。 现在给定你一张城市交通路线图,上面包含城市的公交站台以及公交线路的具体分布。 已知城市中共包含 n 个车站…