Mysql数据库的基础知识和yum安装步骤

MySQL数据库介绍

什么是数据库DB?

DB的全称是database,即数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作;

什么是sql?

SQL代表结构化查询语言(Structured Query Language)。SQL是用于访问数据库的标准化语言。
SQL包含四个部分:
  • DDL 数据定义语言包含定义数据库及其对象的语句,例如表,视图,触发器,存储过程等。
  • DML 数据操作语言包含允许更新数据的语句。
  • DCL 数据控制语言允许授予用户权限访问数据库中特定数据的权限。
  • DQL 数据库查询语言

Mysql是什么?

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
版本演化:
MySQL:5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 8.0
MariaDB: 5.0 5.1 5.2 5.3 5.4 5.5 10.0 10.1 10.2 10.3 10.4 10.5(有限代替MySQL8) 10.6……10.10代替MySQL8

MySQL是一个数据库管理系统,也是一个关系数据库。它是由Oracle支持的开源软件。这意味着任何一个人都可以使用MySQL而不用支付一毛钱。 另外,如果需要,还可以更改其源代码或进行二次开发以满足您的需要。

mysql和mariadb的前世今生

MySQL的名字,来自Michael Widenius的女儿My,My是Michael Widenius和前妻的女儿。 MariaDB的名字,来自Michael Widenius的小女儿Maria,Maria是Michael Widenius和第二任妻子的女儿。 Michael Widenius和前妻还有个儿子叫Max,当然,这个儿子的名字也没有浪费。在2003年的时候,德国软件公司SAP与MySQL建立合作关系,SAP旗下的数据库产品SAP DB被重新命名为MaxDB,其中的Max正是来自Michael Widenius的儿子的名字。

什么是关系型数据库(SQL)?

关系型数据库是依据关系模型来创建的数据库。
所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)数据的存储形式:

什么是非关系型数据库(NOSQL)?

非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)
非关系型模型比如有:
存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,IO很快,主要是一些分布式数据库)

关系型数据库与非关系型数据库的区别

1.关系型数据库:
优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询;
4、学习成本低。

缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。吞吐量
2.非关系型数据库
优点:
1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛.
2、速度快:可以使用硬盘或者内存作为载体,而关系型数据库只能使用硬盘;redis数据库单线程10W
3、成本低:数据库部署简单,基本都是开源软件。

缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理;

yum安装Mysql数据库

1、清理环境

[root@mysql ~]# yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y

[root@mysql ~]# userdel -r mysql

[root@mysql ~]# rm -rf /etc/my*

[root@mysql ~]# rm -rf /var/lib/mysql

2、下载yum源的rpm安装包

[root@mysql ~]# yum install -y 官网复制需要下载的版本链接

3、开启MySQL57源,关闭MySQL80源 三种方式

1、[root@mysql ~]# vim /etc/yum.repo.d/mysql-community.repo
    对应修改
    5.7
    enabled=1
永久生效
[root@mysql ~]# yum -y install  yum-utils

2、[root@mysql ~]# yum-config-manager --disable mysql80-community

      [root@mysql ~]# yum-config-manager --enable mysql57-community

3、临时修改
[root@mysql ~]# yum -y install mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community

4、关闭防火墙和selinux

# 防火墙
[root@zaotounan ~]# systemctl stop firewalld && systemctl disable firewalld
#selinux
[root@zaotounan ~]# setenforce 0
[root@zaotounan ~]# sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@zaotounan ~]# getenforce
#公网
[root@zaotounan ~]# ping -W1 -c3 www.baidu.com
PING www.a.shifen.com (14.119.104.254) 56(84) bytes of data.
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=1 ttl=55 time=33.9 ms
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=2 ttl=55 time=38.0 ms
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=3 ttl=55 time=34.7 ms

5、安装必要的软件包

[root@mysql ~]# yum -y groupinstall "Development Tools"

[root@mysql ~]# yum -y install mysql-community-server

[root@mysql ~]# systemctl start  mysqld

6、查找初始密码

[root@mysql ~]# grep "password" /var/log/mysqld.log

7、登陆数据库

[root@mysql ~]# mysql -uroot -p'初始密码'

8、修改密码 三种方式

1修改密码
[root@mysql ~]# mysqladmin -uroot -p'原密码' password '新密码'

补充
2.破解mysql  root用户密码

[root@mysql ~]# vim /etc/my.cnf                       //进入my.cnf文件
skip-grant-tables                        //添加语句,跳过授权表
systemctl restart mysgl                //重新启动mysg1

//这个时候登录mysg1是不要密码的  直接输入mysql登录数据库
mysql>update mysql.user set authentication string=password("新密码")where User="root"  and Host='localhost';

mysql>flush privileges;  /刷新刚刚执行的mysql语句

修改完毕后删除etc/my.cnf  配置文件中添加的 skip-grant-table行

3.知道密码,库内修改密码

使用 sql语句修改密码

  第一种方式mysql>set password for root@localhost = password('新密码');
            mysql>flush privileges;  /刷新刚刚执行的mysql语句

  第二种方式mysql>alter user 'root'@'localhost' identified by "密码";
            mysql>flush privileges;  /刷新刚刚执行的mysql语句

9、补充

[root@mysql ~]# vim /etc/my.cnf

# 关闭mysql密码强度策略,生产环境切勿尝试,首次启动不可关闭
validate-password=OFF

# 跳过密码进入数据库,用于忘记密码时使用
skip-grant-tables

以上两个参数不可同时存在

希望能够帮助到大家!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想Day41 | 343. 整数拆分、96.不同的二叉搜索树

343. 整数拆分 这道题的贪心思路是尽可能地拆分成3,(结论),需要进行数学证明,详细代码如下: class Solution { public:int integerBreak(int n) {if(n2) return 1;if(n3) return 2;if(n4) return 4;int re…

【每日OJ—有效的括号(栈)】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 1、有效的括号题目: 1.1方法讲解: 1.2代码实现: 总结 前言 世上有两种耀眼的光芒,一种是正在升起的太阳&#…

AUTOSAR StbM模块的配置以及代码实现

AUTOSAR StbM模块的配置以及代码实现 1、AUTOSAR配置 2、StbM_Init 初始化各个变量。 3、StbM_MainFunction StbM_Rb_IsSyncTimeBase 同步的TimeBase的id范围是0-15 StbM_Rb_IsOffsetTimeBase offset的TimeBase的id范围是16-31 StbM_Rb_IsPureLocalTimeBase pure的Time…

<JavaEE> 文件IO -- File类和文件操作

目录 一、文件的概念 二、文件系统 三、文件类型 四、使用 File 类进行文件操作 4.1 File 类中的 pathSeparator 属性 4.2 File 类构造方法 4.3 File 类常用方法 一、文件的概念 什么是文件? 广义上的“文件”是指抽象化的操作系统中的硬件设备和软件资源&a…

TC118AH 单通道内置功率 MOS 全桥驱动器

一、 TC118AH 特点 : 1、单通道内置功率 MOS 全桥驱动 2、驱动前进、后退、停止及刹车功能 3、内置迟滞热效应过热保护功能 4、低导通电阻(0.5Ω/1000mA) 5、连续输出电流可达 1.8A,峰值 2.5A 6、 无需外W大滤波电容,只需小贴片电容 7…

大数据Doris(三十八):Aggregate 和 Uniq 模型中的 ROLLUP

文章目录 Aggregate 和 Uniq 模型中的 ROLLUP 一、获得每个用户的总消费

Python-Selenium-使用 pywinauto 实现 Input 上传文件

当前环境:Win10 Python3.7 pywinauto0.6.8,selenium3.14.1 示例代码 from pywinauto import Desktop import osapp Desktop() dialog app[打开] dialog[Edit].set_edit_text(os.getcwd() .\\example-01.jpg) dialog[Button].click() 其他方法&…

airpods 无法使用Windows电脑充电的解决方法

打开设置 -> 蓝牙与其他设备 -> 显示更多设备 往下翻,找到“更多设备与打印机设置”,打开设备界面: 打开" Airpods Case",找到“硬件”选项 -> 双击"符合HID标准的供应商定义设备" -> “驱动程序…

【源码解析】Semaphore角度聊聊AQS

案例 Semaphore,俗称信号量,它是操作系统中PV操作的原语在java的实现,它也是基于 AbstractQueuedSynchronizer实现的 private static ExecutorService threadPool Executors.newFixedThreadPool(4);private static Semaphore semaphore ne…

MySQL数据库,触发器、窗口函数、公用表表达式

触发器 触发器是由事件来触发某个操作(也包含INSERT、UPDATE、DELECT事件),如果定义了触发程序,当数据库执行这些语句时,就相当于事件发生了,就会自动激发触发器执行相应的操作。 当对数据表中的数据执行…

进制之间的转换——n进制转换为m进制(C/C++实现,简单易懂)

目录 🌈前言: 📁 什么是进制转换: 📁其他进制转换成十进制: 📂二进制( B ) ——> 十进制( D ) 📂八进制( O ) ——> 十进制( D ) 📂十六进制( H ) ——> 十进制…

visual stdio code运行vue3

npm init vuelatest 该命令初始化vue项目 使用visual stdio code创建vue项目 ,这边是vue-project文件夹 vs code打开项目 vscode操作vue项目 vscode操作vue项目

数据分析思维导图

参考: https://zhuanlan.zhihu.com/p/567761684?utm_id0 1、数据分析步骤地图 2、数据分析基础知识地图 3、数据分析技术知识地图 4、数据分析业务流程 5、数据分析师能力体系 6、数据分析思路体系 7、电商数据分析核心主题 8、数据科学技能书知识地图 9、数据挖掘…

设计模式 简单工厂 工厂方法模式 抽象工厂模式 Spring 工厂 BeanFactory 解析

工厂模式介绍 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。它是创建型模式。 简单工厂 简单工厂模式是指由一个工厂对象决定创建出哪一种产品类的实例, 但它不属于GOF 23种设计模式 简单工厂适用于工厂类负责创建的对象较少的场景,…

Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)

目录 一、前言 二、基于注解配置Bean 1.基本介绍 : 2.应用实例 : 3.注意事项 : 三、手动实现Spring 注解配置机制 1.需求 : 2.思路 : 3.实现 : 3.1 自定义注解类 3.2 自定义配置类 3.3 自定义容器类 3.4 在测试类中进行测试 四、自动装配 0.总述 : 1.AutoWired自动装…

Autosar DEM DTC的Debounce策略

文章目录 简介Debounce策略1、基于计数器的 Debounce 策略2、基于时间的Debounce策略 简介 故障事件防抖,与按键防抖(软件需要延时确认按键不是误触发)的作用类似,目的是为了防止事件误触发采取的策略。 因为DTC并不是一达到触发…

Transformer Decoder的输入

大部分引用参考了既安的https://www.zhihu.com/question/337886108/answer/893002189这篇文章,个人认为写的很清晰,此外补充了一些自己的笔记。 弄清楚Decoder的输入输出,关键在于图示三个箭头的位置: 以翻译为例: 输…

2023.12.16 关于 分布式系统 基本介绍

目录 单机架构 服务器负载过高问题 解决方法 分布式系统 引入更多的服务器节点 负载均衡 数据库读写分离 引入缓存 数据库分库分表 引入微服务 基本概念 应用(Application)/ 系统(System) 模块(Modul…

力扣日记12.18-【二叉树篇】合并二叉树

力扣日记:【二叉树篇】合并二叉树 日期:2023.12.18 参考:代码随想录、力扣 617. 合并二叉树 题目描述 难度:简单 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时&#xf…

软件测试培训三个月,想找到工作,到底应该怎么搞

功能方面:问的最多的就是测试流程,测试计划包含哪些内容,公司人员配置,有bug开发认为不是 bug怎么处理,怎样才算是好的用例,测试用例设计方法(等价类,边界值等概念方法)&…