Linux系统中MSQL数据库概述

本节主要学习MySQL数据库的概述,数据库类型,数据库模型,yum安装MySQL的步骤,mysql登录。mysql配置


目录

一、概述

1、什么是数据库

2、数据库能干什么

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

二、数据库类型

1.关系型数据库,RDBMS

2.非关系型数据库,NoSQL

三、数据库模型

四、MySQL安装(yum安装)

1.yum/rpm安装

①下载安装包

②安装数据库服务

③问题解决

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

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

④直接yum安装mariadb

五、MySQL登录

六、MySQL配置

1、数据库目录结构

①rpm安装

②源码安装

2、主配置文件详解

/etc/my.cnf

拓展配置项


一、概述

1、什么是数据库

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

                                    银行存款的信息            电话薄

2、数据库能干什么

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

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

可靠性和稳定性现代数据库系统通常具有高度可靠性和稳定性,可以提供持久性和容错性,可以确保企业的数据安全性。
数据管理能力数据库系统提供了一种强大的方式来管理数据,从数据的存储到访问都进行统一的管理。企业可以更好地跟踪、管理和报告数据,从而使工作更加高效。
数据共享和集成企业常常需要从不同的部门和应用程序中收集信息和数据。通过使用数据库,这些数据可以集成在一起,使企业更容易理解业务、做出决策。
数据安全性和隐私保护企业往往会处理大量的机密数据,如个人信息、财务信息、业务数据等等。数据库管理系统可以提供安全的访问控制和数据保护功能,保护数据的隐私性和机密性。
减少数据冗余数据库技术可以帮助企业减少数据冗余和重复,提高数据的一致性、准确性和可重用性。

二、数据库类型

1.关系型数据库,RDBMS

概述关系型数据库是一种使用表格来展示和管理数据的数据库,关系型数据库的核心是数据之间的关系,因此也叫做“关系数据库”。RDBMS可以让用户很容易地使用和管理这些关系
特点便于查询和操作SQL语句
结构化数据使用行和列存放数据
数据的一致性和完整性各种约束条件
并发性支持多用户连接的隔离性
代表产品MySQL瑞典MYSQL AB公司开发,现由甲骨文公司管理
PostgreSQLPostgreSQL全球开发组开发的免费的开源的数据库管理系统

2.非关系型数据库,NoSQL

概述NoSQL(Not only SQL)是一种非关系型数据库模型,其数据存储和查询机制与传统的关系型数据库不同
特点非结构化数据文本、图像、媒体等
分布式存储分布在多个节点中,实现高并发
没有固定的规范模式无需定义表和列,不强制要求结构
高可伸缩性支持水平扩展,增加或删除节点
高性能高速读写操作,比传统的关系型数据库效率要高
代表产品MongoDB一款基于文档存储模型的非关系型数据库软件
Redis一款基于内存存储的非关系型数据库,与MongoDB一样广泛应用于互联网领域, Redis常用于快速读写操作、缓存等场景

三、数据库模型

层次型数据库模型1966年,IBM研究员Codd提出层次结构模型
它的数据结构如同树状结构。每个节点都只有一个父节点,但可以有多个子节点
这种模型存在层次结构复杂、扩展性差、数据操作限制等问题
网状型数据库模型1969年,CODASYL工作组发布了网络模型
它使用复杂链表来表示数据之间的关系,并增加了数据结构的灵活性和递归处理能力,从而解决了层次结构模型的一些问题
解决了层次结构模型的一些问题。但是网络模型需要了解复杂的物理存储结构,对程序设计人员的要求比较高
关系型数据库模型1970年,Codd提出了关系型模型,也就是目前SQL和RDBMS所采用的模型
关系型模型基于二维表格的结构组织数据,每个表格称为关系,每行记录代表一个实体,每列记录代表一个属性。关系之间通过主键和外键进行关联
它具有数据结构简单、数据组织规范、数据操作强大、数据完整性可控等优点,是目前应用最广泛的数据库模型
非关系型模型

四、MySQL安装(yum安装)

1.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

 直接安装会出现MySQL没有公钥

③问题解决

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

 不使用GPG密钥验证:

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

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

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

使用随机密码登录查看临时密码

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

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

mysql -u root -p

 

Enter password: 输入随机密码

 

自行重置密码重置密码的第一步就是跳过MySQL的密码认证过程进入数据库的配置文件vim /etc/my.cnf
添加参数,不验证密码进入mysql

skip-grant-tables

接下来我们需要重启MySQLsystemctl 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安装mariadb

                                                                     yum -y install mariadb mariadb-server

不使用配置文件越过密码验证,修改密码    mysqladmin  -uroot -p password '新密码'

五、MySQL登录

本地登录    使用命令

借助软件登录    navicat

六、MySQL配置

1、数据库目录结构

①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进程的进程号。

②源码安装

   mysql-<version>/
    ├── extra/            # 额外的工具和脚本
    ├── include/            # 包含头文件
    ├── lib/            # 包含库文件
    │        ├── libmysqlclient.so    # MySQL 客户端库文件
    │        └── libmysqld.so    # MySQL 服务器端库文件
    ├── share/            # 包含共享文件
    ├── support-files/        # 包含初始化脚本和系统服务
    │        ├── mysql.server    # MySQL 服务启动脚本
    │        ├── mysql.service    # MySQL systemd 服务配置
    │        └── ...             # 其他各种脚本和配置文件
    ├── bin/            # MySQL 二进制文件
    │        ├── mysqld        # MySQL 服务器二进制文件
    │        ├── mysql        # MySQL 客户端二进制文件
    │        ├── mysqladmin    # 管理 MySQL 服务器的工具
    │        ├── mysqldump        # 导出 MySQL 数据库的工具
    │        └── ...            # 其他各种 MySQL 工具
    ├── man/            # MySQL 帮助手册
    ├── docs/             # MySQL 文档
    ├── sql/            # MySQL SQL 脚本文件
    └── zlib/            # MySQL 所依赖的 zlib 库

2、主配置文件详解

/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解析


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值