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

一、MySQL服务概述

什么是数据库?

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

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

数据库能干什么?

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

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

可靠性和稳定性

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

数据管理能力

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

数据共享和集成

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

数据安全性和隐私保护

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

减少数据冗余

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

二、MySQL数据库类型

关系型数据库,RDBMS

概述

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

特点

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

代表产品

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

非关系型数据库,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

系统学习Linux-MySQL服务基础(一)_第1张图片

安装数据服务

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

系统学习Linux-MySQL服务基础(一)_第2张图片

yum -y install mysql-server

系统学习Linux-MySQL服务基础(一)_第3张图片

问题解决

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

分析原因:mysql密钥过期

解决办法

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

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

yum -y install mysql-server

系统学习Linux-MySQL服务基础(一)_第4张图片

不使用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;

系统学习Linux-MySQL服务基础(一)_第5张图片

使用mysql数据表

use  mysql;

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

flush privileges;

drop user 'root'@'localhost';

系统学习Linux-MySQL服务基础(一)_第6张图片

创建root用户使用新的密码

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

赋予root权限

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

刷新配置,退出数据库

flush privileges;

exit

系统学习Linux-MySQL服务基础(一)_第7张图片

恢复最开始的配置文件

vim /etc/my.cnf

去掉配置项skip-grant-tables

系统学习Linux-MySQL服务基础(一)_第8张图片

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

systemctl restart mysqld

mysql -uroot -p123456

系统学习Linux-MySQL服务基础(一)_第9张图片


五、课外扩展

系统学习Linux-MySQL服务基础(一)_第10张图片

 

表格制作

系统学习Linux-MySQL服务基础(一)_第11张图片

create database biaoge;

show databases;

系统学习Linux-MySQL服务基础(一)_第12张图片

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;

系统学习Linux-MySQL服务基础(一)_第13张图片

show tables;

select * from students;

describe students;

系统学习Linux-MySQL服务基础(一)_第14张图片insert into students(编号,姓名,性别) values(1,'张三','男'),(2,'李四','女'),(3,'王五','男'),(4,'赵六','男'),(5,'小明','男'),(6,'小帅','男'),(7,'小美','女'),(8,'小红','女'),(9,'大明','男'),(10,'大帅','男'),(11,'大美','女'),(12,'大红','女');

系统学习Linux-MySQL服务基础(一)_第15张图片

select * from students\g

系统学习Linux-MySQL服务基础(一)_第16张图片

你可能感兴趣的:(linux,学习,运维)