MySQL基础(一)

news2025/4/15 3:36:49

目录

前言

一、概述

1.什么是数据库

2.数据库能干什么

3.为什么要用数据库,优势、特性

二、数据库类型

(一)、关系型数据库,RDBMS

1.概述

2.特点

3.代表产品

(二)、非关系型数据库,NoSQL

1.概述

2.特点

3.代表产品

三、数据库模型

1.层次型数据库模型

2.网状型数据库模型

3.关系型数据库模型

4.非关系型模型

四、MySQL安装(重点)

(一)、rpm安装

1.下载安装包

2.安装数据库服务

问题解决

 解决办法

登录数据库时提示密码错误

解决问题

(二)、yum安装

总结



前言

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。


一、概述

1.什么是数据库

数据库是存储、管理和操作组织化数据的软件系统。

将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。

例如

银行存款的信息

电话薄

2.数据库能干什么

存放用户数据、管理企业数据
存储分析客户的财务数据
存储产品信息、订单信息等
存储社交消息数据
物联网设备在云服务平台的数据存储

3.为什么要用数据库,优势、特性

可靠性和稳定性

现代数据库系统通常具有高度可靠性和稳定性,可以提供持久性和容错性,可以确保企业的数据安全性。

数据管理能力

数据库系统提供了一种强大的方式来管理数据,从数据的存储到访问都进行统一的管理。企业可以更好地跟踪、管理和报告数据,从而使工作更加高效。

数据共享和集成

企业常常需要从不同的部门和应用程序中收集信息和数据。通过使用数据库,这些数据可以集成在一起,使企业更容易理解业务、做出决策。

数据安全性和隐私保护

企业往往会处理大量的机密数据,如个人信息、财务信息、业务数据等等。数据库管理系统可以提供安全的访问控制和数据保护功能,保护数据的隐私性和机密性。

减少数据冗余

数据库技术可以帮助企业减少数据冗余和重复,提高数据的一致性、准确性和可重用性。

二、数据库类型

(一)、关系型数据库,RDBMS

1.概述

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

2.特点

便于查询和操作
    SQL语句


结构化数据
    使用行和列存放数据


数据的一致性和完整性
    各种约束条件


并发性
    支持多用户连接的隔离性

3.代表产品

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


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

(二)、非关系型数据库,NoSQL

1.概述

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

2.特点

非结构化数据
    文本、图像、媒体等


分布式存储
    分布在多个节点中,实现高并发


没有固定的规范模式
    无需定义表和列,不强制要求结构


高可伸缩性
    支持水平扩展,增加或删除节点


高性能
    高速读写操作,比传统的关系型数据库效率要高

3.代表产品

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


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

三、数据库模型

1.层次型数据库模型

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

2.网状型数据库模型

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

3.关系型数据库模型

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

4.非关系型模型

非关系型数据库主要是基于“非关系模型”,文档类模型:mongoDB)的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)

四、MySQL安装(重点)

(一)、rpm安装

构建环境

NAT模式,自动分配IP,ping百度试通

1.下载安装包

wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

2.安装数据库服务

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

yum -y install mysql-server

问题解决

安装mysql提示公钥未安装

提示信息

mysql-community-common-5.7.42-1.el7.x86_64.rpm 的公钥尚未安装
失败的软件包是:mysql-community-common-5.7.42-1.el7.x86_64
GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql


 分析原因

 mysql密钥过期

 解决办法

1.安装新的密钥然后再安装服务后启动

systemctl start mysqld

 2.不使用GPG密钥验证

输入yum -y install mysql-server --nogpgcheck即可

登录数据库时提示密码错误

提示信息

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

 分析原因

输入的密码是错误的,所以拒绝你的访问

解决问题

1.使用随机密码登录

查看临时密码

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

登录时使用查看到的随机密码

mysql -u root -p

Enter password: 输入随机密码

2.自行重置密码

跳过MySQL的密码认证过程

进入数据库的配置文件

vim /etc/my.cnf添加

skip-grant-tables

systemctl restart mysqld

登录mysql无需密码

查看数据库:show databases;

使用mysql数据表:use  mysql;

查看数据表:show tables;

看数据表内容
    select * from user; 显示的为加密
        select * from user\G;

 

创建root用户使用新的密码:create  user  'root'@'localhost' identified by '123456';

如果报错,先刷新配置,在删除原来的root用户,然后再执行创建的操作

flush privileges;

drop user 'root'@'localhost';

create  user  'root'@'localhost' identified by '123456';

赋予root权限

grant all privileges on *.* to 'root'@'localhost' with grant option;

刷新配置,退出数据库

flush privileges;

exit

 恢复最开始的配置文件

vim /etc/my.cnf去掉

skip-grant-tables

systemctl restart mysqld

mysql -uroot -p123456

(二)、yum安装

本地yum源直接安装

yum install -y mariadb  mariadb-server

systemctl start mariadb

 不使用配置文件越过密码验证,修改密码

mysqladmin  -uroot -p password '新密码'

mysql -uroot -p'密码'

 

 

总结

今天主要内容为rpm安装,yum安装相简单,技多不压身,源码安装较为费时没有进行介绍,有兴趣的小伙伴可以去探索。

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

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

相关文章

性能测试常见故障和解决思路

目录 一、性能问题分析流程 二、内存溢出 (一)堆内存溢出 (二)永久代/方法区溢出 (三)栈内存溢出 (四)系统内存溢出 三、CPU过高 (一)us cpu过高 &a…

flink cdc环境搭建

1.下载flink https://archive.apache.org/dist/flink/flink-1.12.2/ 2.修改flink-conf.yaml #根据自己电脑核数修改,这里我设置为4,因为系统分配了4核 jobmanager.rpc.address: localhost #主机名根据自己设定 taskmanager.numberOfTaskSlots: 4 3.下载…

Databend 开源周报第 103 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 创建网络策略 …

机器学习深度学习——图像分类数据集

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——softmax回归(下) 📚订阅专栏:机器学习&&深度学习…

【腾讯云 Cloud Studio 实战训练营】沉浸式体验编写一个博客系统

文章目录 前言新建工作空间登录(注册)Cloud Studio 账号:进入 Cloud Studio 控制台:配置工作空间参数:确认并创建工作空间:项目搭建 配置nuxt 脚手架运行项目报错信息解决错误脚手架运行预览问题 开启博客代码配置layout首页配置 …

关于java中的内存回收机制

C中如果创建了一个对象,当不再使用的时候,需要手动调用delete方法来进行销毁。而Java提供了一套完整的垃圾回收机制(gc)。它会自动扫描内存中我们所创建过且不再使用的对象,进行自动销毁。但是gc并不完美,现…

7plus透明屏有哪些全新的使用体验?

7plus透明屏是指苹果公司推出的iPhone 7 Plus手机配备了透明屏幕的一种特殊版本。透明屏幕是一种新型的显示技术,可以使屏幕看起来透明,让用户感觉手机屏幕上的内容仿佛悬浮在空中一样。 透明屏幕的出现给用户带来了全新的使用体验。 首先,透…

对象存活判断

对象存活判断 在堆里存放着几乎所有的 Java 对象实例,在 GC 执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC 才会在执行垃圾回收时,释放掉其所占用的内存…

微信小程序客服系统-对接消息推送-对接模板订阅消息-嵌入webview客服链接

想要给自己的小程序增加客服系统功能 小程序客服对接导自己的系统等需求,可以参照我开发的客服系统,实现私有化部署搭建对接的微信小程序 小程序消息推送对接 首先登录小程序后台在小程序后台>开发管理>开发设置>服务器域名部分,配置…

基于Java+SpringBoot+vue前后端分离学科竞赛管理系统设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Linux中的库

一、库是什么 库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。就是将源代码转化为二进制格式的源代码,相当于进行了加密,别人可以使用库,但是看不到库中的内容。 二、库的分类和优缺点 静态库:是在程…

Shell 排序法 - 改良的插入排序

说明 插入排序法由未排序的后半部前端取出一个值,插入已排序前半部的适当位置,概念简单但速度不快。 排序要加快的基本原则之一,是让后一次的排序进行时,尽量利用前一次排序后的结果,以加快排序的速度,Shel…

云安全攻防(二)之 云原生安全

云原生安全 什么是云原生安全?云原生安全包含两层含义:面向云原生环境的安全和具有云原生特征的安全 面向云原生环境的安全 面向云原生环境的安全的目标是防护云原生环境中的基础设施、编排系统和微服务系统的安全。这类安全机制不一定会具有云原生的…

git恢复删除的分支

1.查看被删除的分支 git remote prune --dry-run origin 被删除的分支是191 2.找到被删除分支的最后一次提交记录的commit SHA值 git reflog 最后一次提交的commit SHA值是3fa7532 3.恢复分支 git checkout -b xiaomeng 3fa7532 4.恢复成功后提交到远端,over&…

[大模型] LLaMA系列大模型调研与整理-llama/alpaca/lora(部分)

文章目录 LLaMA大模型及其衍生模型1. LLaMA2. stanford_alpaca3. ChatDoctor4. alpaca-lora5. Chinese-LLaMA-Alpaca6. BELLE 大模型综述 A Survey of Large Language Models 关键词:大模型,LLaMA,Alpaca,Lora,Belle&a…

git拉取提交代码进行身份验证-输入账号密码以及配置SSH公钥

git初次拉取代码或者提交代码时,需要进行身份验证。验证有两种方式:1、账号密码验证;2、SSH公钥验证。 本文章以gitee为例 账号密码验证 1.首先找到电脑本地项目文件夹,在地址栏中输入cmd回车,打开命令行窗口。 2.输入…

【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群功能分析)

探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群功能分析) Redis集群的出现背景提升性能扩展性 Redis集群概述Redis Cluster特性分布Redis Cluster的Failover机制Redis集群节点宕机集群如何判断节点是否挂掉集群进入失败状态的必要条件 Fai…

git实战

git实战 第一章 快速入门 1.1 什么是git git是一个分布式的版本控制软件。 软件,类似于QQ、office、dota等安装到电脑上才能使用的工具。版本控制,类似于毕业论文、写文案、视频剪辑等,需要反复修改和保留原历史数据。分布式 - 文件夹拷贝…

抖音seo短视频矩阵系统源码开发解析---多账号授权管理

本文开发语音使用PHP语言开发,梅雨plum框架自主研发,文末另附开发技巧 抖音SEO短视频矩阵系统源码开发解析是一种基于抖音平台的短视频排名优化技术,通过对抖音算法的分析和抖音用户行为的研究,提供一种基于“流量矩阵”的短视频管…

TCP/IP 五层协议模型

转载大佬文章 我们每天使用互联网,本质上是在传输/接收各种数据,具体如何传输则是按照一系列互联网协议进行的。我们常说的网络七层模型,五层模型,四层模型都是对数据传输过程做了细化的分层。 按照五层模型比较好理解&#xff0c…