系统学习Linux-MySQL服务基础(一)

news2024/11/25 13:38:42

一、MySQL服务概述

什么是数据库?

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

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

数据库能干什么?

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

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

可靠性和稳定性

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

数据管理能力

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

数据共享和集成

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

数据安全性和隐私保护

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

减少数据冗余

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

二、MySQL数据库类型

关系型数据库,RDBMS

概述

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

特点

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

代表产品

MySQL瑞典MYSQL AB公司开发,现由甲骨文公司管理
PostgreSQLPostgreSQL全球开发组开发的免费的开源的数据库管理系统

非关系型数据库,NoSQL

概述

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

特点

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

代表产品

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

三、MySQL数据库模型

1966年,IBM研究员Codd提出层次结构模型

层次型数据库模型

它的数据结构如同树状结构。每个节点都只有一个父节点,但可以有多个子节点
这种模型存在层次结构复杂、扩展性差、数据操作限制等问题
1969年,CODASYL工作组发布了网络模型

网状型数据库模型

它使用复杂链表来表示数据之间的关系,并增加了数据结构的灵活性和递归处理能力,从而解决了层次结构模型的一些问题
解决了层次结构模型的一些问题。但是网络模型需要了解复杂的物理存储结构,对程序设计人员的要求比较高
1970年,Codd提出了关系型模型,也就是目前SQL和RDBMS所采用的模型

关系型数据库模型

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

非关系型模型


四、MySQL安装

yum/rpm安装

下载安装包

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

安装数据库服务

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

yum -y install mysql-server

问题解决

1、安装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密钥过期

解决办法

安装新的密钥然后再安装服务

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

yum -y install mysql-server

不使用GPG密钥验证

yum -y install mysql-server --nogpgcheck

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

提示信息

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

添加参数,不验证密码进入mysql

skip-grant-tables

接下来我们需要重启MySQL

systemctl restart mysqld

重新登录数据库时,直接按回车

查看数据库

show databases;

使用mysql数据表

use  mysql;

创建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

重启mysql,然后使用新密码重新登录数据库

systemctl restart mysqld

mysql -uroot -p123456


yum/rpm安装步骤实验

测试网络

ping www.baidu.com

下载安装包

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

安装数据服务

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

yum -y install mysql-server

问题解决

1、安装mysql提示公钥未安装

分析原因:mysql密钥过期

解决办法

安装新的密钥然后再安装服务

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

yum -y install mysql-server

不使用GPG密钥验证

yum -y install mysql-server --nogpgcheck


启动服务并启动

systemctl start mysqld  开启服务

mysql  启动


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

提示信息

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

分析原因

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

解决问题:自行重置密码

重置密码的第一步就是跳过MySQL的密码认证过程

进入数据库的配置文件

vim /etc/my.cnf

添加参数,不验证密码进入mysql:skip-grant-tables

接下来我们需要重启MySQL

systemctl restart mysqld

重新登录数据库时

mysql

查看数据库

show databases;

使用mysql数据表

use  mysql;

先刷新配置,再删除原来的root用户

flush privileges;

drop user 'root'@'localhost';

创建root用户使用新的密码

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

重启mysql,然后使用新密码重新登录数据库

systemctl restart mysqld

mysql -uroot -p123456


五、课外扩展

 

表格制作

create database biaoge;

show databases;

use class_five;

show tables;

 

mysql> create table students(
    -> 编号 int not null,
    -> 姓名 varchar(20) not null,
    -> 性别 char(10) not null
    ->  )character set utf8mb4 collate utf8mb4_unicode_ci;

show tables;

select * from students;

describe students;

insert into students(编号,姓名,性别) values(1,'张三','男'),(2,'李四','女'),(3,'王五','男'),(4,'赵六','男'),(5,'小明','男'),(6,'小帅','男'),(7,'小美','女'),(8,'小红','女'),(9,'大明','男'),(10,'大帅','男'),(11,'大美','女'),(12,'大红','女');

select * from students\g

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

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

相关文章

Stable Diffusion在各种显卡上的加速方式测试,最高可以提速211.2%

Stable Diffusion是一种基于扩散模型的图像生成技术,能够从文本生成高质量的图像,适用于CG,插图和高分辨率壁纸等领域。 但是它计算过程复杂,使得它的生成速度较慢。所以研究人员就创造了各种提高其速度的方式,比如Xf…

Springboot读取配置的一些方式

从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一,但就是这么常用的功能,仍然有很多开发者在这个方面踩坑。 下面整理了几种获取配置属性的方式,弄清配置加载、读取的底层原理,一旦出现问题可以分析。 以下示例源…

Linux基础开发工具之Linux编译器的使用(gcc/g++)

目录 前言 1.背景知识介绍 2.预处理阶段 3.编译阶段 4.汇编阶段 5.链接过程 5.1 函数库 5.1.1 静态库和动态库 5.2 链接过程的具体内容 总结 前言 大家好呀,许久没给大家更新了,对于我们在Linux环境下编程,之前小编只是给大家介绍…

Ubuntu安装JDK与IntelliJ IDEA

目录 前言 Ubuntu安装JDK 1、更新软件包列表 2、安装OpenJDK 3、验证安装 Ubuntu安装IntelliJ IDEA 1、下载 IntelliJ IDEA 2、解压缩 IntelliJ IDEA 安装包 3、移动 IntelliJ IDEA 到安装目录 4、启动 IntelliJ IDEA 前言 APT(Advanced Package Too…

react 在build读取env 数据

默认会读取.env 文件 npm install dotenv --save npm install dotenv-cli --save-dev例如读取.env.test "build:test": "dotenv -e .env.test react-app-rewired build",.env.test REACT_APP_CURRENTMODE devREACT_APP_Public_Path "https://baid…

VUE中的生命周期、每个生命周期可以干什么

生命周期 就VUE来说就是一个程序的即将创建到销毁的一个过程,也就是vm对象实例从创建到最终销毁的过程。 VUE生命周期4个阶段8个钩子函数(到某一阶段自动调用的函数) 1.初始阶段(虚拟的DOM生成) beforeCreate() 初始化事件对象和生命周期…

width: calc(~“100% - 267px“);动态css 调样式

.result-filtering {color: #8b8b8b;display: flex;// width: 82.6%;width: calc(~"100% - 267px");}

证书文件无法生成.p12

做好的证书文件在生成.p12文件的过程中遇到了.p12选项置灰且无法选择并导出的情况 解决办法 起初认为生成的空白 CertificateSigningRequest 有问题,反反复复尝试几次制作后均无效; 而后发现问题出在了钥匙串访问的选项问题上 ... 将顶部菜单 tab 由"所有选项"切换至…

ActivityWatch配置跨平台同步(没弄完)

安装完后马上给你来个下马威&#xff1a; 具体内容如下&#xff1a; Traceback (most recent call last): File "aw_qt\__main__.py", line 3, in <module> File "click\core.py", line 1130, in __call__ File "click\core.py", l…

docker制作compose

第一步&#xff0c;先了解Compose是什么&#xff1f; Compose 项目是 Docker 官方的开源项目&#xff0c;负责实现对 Docker 容器集群的快速编排。 Compose有两个重要的概念 1.项目 &#xff1a;由一组关联的应用容器组成的一个完整业务单元&#xff0c;在docker-compose.ym…

最受欢迎的8种编程语言解析_kaic

国内目前最受欢迎的8种编程语言解析 在过去的 17 个月&#xff08;2022 年 1 月至 2023 年 5 月&#xff09;时间里&#xff0c;DevJobsScanner 通过分析超 1400 万个开发人员职位&#xff0c;并从中筛选了有明确编程语言需求的职位&#xff0c;得出了在 2023 年需求量最大的 …

Socket基本原理详解

socket的概念 故事要从一个插头说起。 插头与插座 当我将插头插入插座&#xff0c;那看起来就像是将两者连起来了。 风扇与电力系统建立"连接" 而插座的英文&#xff0c;又叫socket。 巧了&#xff0c;我们程序员搞网络编程时也会用到一个叫socket的东西。 其实两者…

[算法通关村] 1.1 单向链表的创建

各位读者朋友们&#xff0c; 从今天开始&#xff0c;我将通过博文的形式&#xff0c;概述数据结构中应知必会的基本算法&#xff0c; 由于我更加熟悉 Java 语言&#xff0c;所以全程使用 Java 语言进行叙述&#xff0c; 如果您发现了文章中的错误&#xff0c;请您不吝赐教。 什…

HCIP——OSPF综合实验

OSPF实验 一、实验拓扑二、实验要求三、实验思路四、实验步骤1、配置接口IP地址以及环回2、配置缺省路由3、配置MGRE环境4、配置OSPF5、修改网络类型6、重发布7、配置汇总空接口防环8、配置特殊区域&#xff1a;9、配置NAT环境10、加快收敛11、配置接口认证12、测试 一、实验拓…

ModHeader插件

ModHeader浏览器插件下载装载地址&#xff1a;&#xff08;microsoftedge&#xff09;ModHeader - Modify HTTP headers - Microsoft Edge Addonshttps://microsoftedge.microsoft.com/addons/detail/modheader-modify-http-h/opgbiafapkbbnbnjcdomjaghbckfkglc?refidbingshor…

MySQL 主从复制的认识 2023.07.23

一、理解MySQL主从复制原理 1、概念&#xff1a;主从复制是用来建立一个和 主数据库完全一样的数据库环境称为从数据库&#xff1b;主数据库一般是准实时的业务数据库。 2、作用&#xff1a;灾备、数据分布、负载平衡、读写分离、提高并发能力 3、原理图 4、具体步骤 (1) M…

微服务远程调用openFeign简单回顾

目录 一. OpenFeign简介 二. OpenFeign原理 演示使用 provider模块 消费者模块 配置全局feign日志 示例源代码: 一. OpenFeign简介 OpenFeign是SpringCloud服务调用中间件&#xff0c;可以帮助代理服务API接口。并且可以解析SpringMVC的RequestMapping注解下的接口&#x…

生物信息学_玉泉路_课堂笔记_04 第四章 高通量测序技术与 数据分析

&#x1f345; 课程&#xff1a;生物信息学_玉泉路_课堂笔记 中科院_2022秋季课 第一学期 &#x1f345; 个人笔记使用 &#x1f345; 2023/7/19 测序技术 鸟枪法测序 全球测试仪的使用情况 边合成边测序 深颜色是加的接头 adapter 浅颜色的是要测的片段 insert ① 重叠的情…

【iOS】动态链接器dyld

参考&#xff1a;认识 dyld &#xff1a;动态链接器 dyld简介 dyld&#xff08;Dynamic Linker&#xff09;是 macOS 和 iOS 系统中的动态链接器&#xff0c;它是负责在运行时加载和链接动态共享库&#xff08;dylib&#xff09;或可执行文件的组件。在 macOS 系统中&#xf…

Docker 安装 和 GPU 支持

一、Docker安装过程&#xff08;ubuntu18.04环境&#xff09; 清华镜像 docker 安装&#xff1a;docker-ce | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 1、由于apt官方库里的docker版本可能比较旧&#xff0c;所以先卸载可能存在的旧版本&…