MySQL概述(GLIBC方式安装)

Posted ღ᭄小艾ヅ࿐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL概述(GLIBC方式安装)相关的知识,希望对你有一定的参考价值。

一、mysql概述

1.关系型数据库和非关系型数据库:

  • RDBMS(relational database management system)即关系型数据库管理系统。简单来说关系型数据库,是指采用了二维表格来组织数据的数据库
    在这里插入图片描述
  • 扩展:数据库在行业内一般有两种情况,关系型数据库和非关系型数据库。非关系型数据库并不是通过二维表格来维护数据库的,而是通过key/value键值对来维护数据库的。非关系型数据库主要存储在计算机的内存中,关系型数据库主要存储在计算机的硬盘中。

2.常见的关系型数据库:

在这里插入图片描述

3.什么是事务:

  • 事务是由一条或多条sql语句组成
  • 在事务中的操作,这些sql语句要么都成功执行,要么都不执行,这就是一个事务

举例说明:

  1. 登录ATM机,输入密码
  2. 连接数据库,验证密码
  3. 验证成功,获取用户信息,比如存款余额等等
  4. 用户输入需要转账的金额,按下确认键
  5. 从后台数据库中减掉用户账户上额对应金额(update语句)
  6. 从后台数据库中给对方账户增加相应的金额(update语句)
  7. 确认,退卡,走人

4.事务特性:

  • 原子性
    事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行
  • 一致性
    指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行前和执行后都必须处于一致性状态,不能破坏关系数据的完整性以及业务逻辑上的一致性
  • 隔离性
    一个事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离
  • 持久性
    持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的了,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作

二、获取mysql软件

第一步,进入www.mysql.com官网
在这里插入图片描述
找到社区版下载
在这里插入图片描述
在这里插入图片描述
GLIBC版本(相当于windows中的绿色版本)在这里插入图片描述

2.源码编译版本:

这里是引用

3.三种安装方式的对比:

这里是引用

三、区分数据库和数据库实例

这里是引用

四、数据库的安装

1.GLIBC方式安装:

  1. 获取MYSQL GLIBC版本:
    在这里插入图片描述

2.学会看官方文档:
在这里插入图片描述
在这里插入图片描述
在这一块选择对应的版本手册进行查看在这里插入图片描述
英文不好的可以选择翻译成中文
在这里插入图片描述
在这里插入图片描述

3.安装mysql依赖库软件:
yum install libaio

4.上传软件包解压,了解目录结构:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装需求:
在这里插入图片描述

5.软件的安装(查看官方说明)
在这里插入图片描述
①.创建mysql用户
在这里插入图片描述
②.清空系统中的原有mariadb的配置文件(/etc/my.cnf)
rm -rf /etc/my.cnf
③.创建安装目录
在这里插入图片描述
④.切换到mysql工作目录/mysql_3306,创建一个mysql-files
⑤.更改mysql-files权限
在这里插入图片描述
说明:mysql-files目录为secure_file_priv系统变量提供一个位置,该位置将导入和导出操作限制到特定目录
⑥.初始化数据库(可以实现数据库的初始化,并且会产生一个随机的密码)
在这里插入图片描述
选项说明:
–initialize–>初始化(真正开始干活)
–user=mysql–>以mysql用户的身份初始化数据库,产生文件都是以mysql作为拥有者
–basedir–>mysql其安装目录,非常重要
想查看mysql软件有没有初始化成功,主要看mysql目录下有没有产生data文件夹并且文件夹中至少要有一个mysql的文件夹
在这里插入图片描述
⑦.设置安全加密连接(SSL),数据传输会采用加密形式,适合敏感数据
在这里插入图片描述
⑧.启动mysql数据库
在这里插入图片描述
注:默认情况下,GLIBC版本的数据库要求安装到/usr/local/mysql目录,其mysql.server脚本中对应的目录也是/usr/local/mysql,这会导致mysql无法启动。所以可以更改其basedir以及datadir两个变量!
注:修改的是这个文件vim /etc/init.d/mysql
在这里插入图片描述
⑨.启动MySQL数据库(不能使用systemctl,只能使用service(因为service管理的服务都在/etc/init.d下))
在这里插入图片描述
特别说明:当mysql启动成功后,其日志会自动写入到data数据目录中的主机名称.err文件中,这个文件一定要多看,涉及MySQL无法启动,启动报错,其详细的原因99%在.err文件中可以找到问题所在!

2.软件的安装常见问题答疑:

  • 问题1:为什么要删除/etc/my.cnf文件,不删除有何影响?
    答:/etc/my.cnf文件时操作系统为mariadb软件预留的配置的文件,之所以一定要删除这个文件,主要原因在于数据库在初始化时,首先在自己的安装目录下寻找有没有my.cnf配置文件,如果有会自动根据里面的配置信息进行初始化。如果找不到,则到/etc目录下寻找my.cnf文件,如果有,依然会按照其内部的配置进行初始化,但是由于/etc目录下的my.cnf文件是mariadb的,这会导致我们的初始化如果按照mariadb的配置,会导致初始化失败。
  • 问题2:mysql-files文件夹到底干什么的?
    答:目前mysql-files没有什么用,但是必须要创建,因为GLIBC属于二进制软件包,其很多配置已默认了,包括mysql-files文件夹,如果没有这个文件夹可能导致mysql无法启动。
    mysql-files:主要用于数据文件的导入与导出(备份与还原),MySQL的备份会产生一个文件,可以是xxx.sql或xxx.txt。mysql-files就是导入与导出时,所指定的默认目录。
  • 问题3:到底怎么判断数据库是否初始化成功了?
    答:数据库的安装容易出错的地方就是初始化,一旦初始化失败,数据库100%启动报错。如何确认数据库是否初始化成功呢?主要看安装目录下有没有生成一个data的文件夹。是data,不是date!!!!!
  • 问题4:为什么一定要把mysql.server放在/etc/init.d目录下,不放行不行?
    答:不放也可以,但是这个时候就不能使用service命令启动以及添加到开机启动项。只能通过bin/mysqld_safe脚本启动数据库。
  • 问题5:为什么一定要改变/etc/init.d/mysql中的basedir与datedir?
    答:GLIBC版本属于二进制版本,默认已经配置了很多内容,包括默认的安装路径/usr/local/mysql,一旦你的mysql没有安装在这个目录下,则必须手工设置basedir以及datadir其位置,否则脚本无法启动mysql程序
  • 问题6:如何让mysql自动启动?
    chkconfig:centos6以及早期版本中,控制服务的开机启动的
    chkconfig --list: 查询系统中的所有开机启动项目
    chkconfig --addmysql 必须与/etc/init.d目录下的脚本名称一致
    在这里插入图片描述

3.安装完后续配置:

①.更改管理员root账号的密码:

方法一:在这里插入图片描述
在这里插入图片描述

方法二:先进入mysql
在这里插入图片描述

②.配置环境变量:

把mysql客户端命令添加到环境变量,以后随时可以访问
在这里插入图片描述
设置完成后,我们可以在任意地方调用mysql客户端命令

③.手工定义MySQL的配置文件(非常重要):

vim /mysql_3306/my.cnf
[mysqld]
basedir=/mysql_3306
datadir=/mysql_3306/data
socket=/tmp/mysql.sock
选项说明:
[mysqld] 代表针对服务器端进行配置
basedir 代表数据库的安装目录
datadir 代表数据目录,以后专门用于存放数据文件的(核心目录)
socket 代表套接字文件,专门为客户端与服务器端连接提供一个桥梁
然后重启一下mysql
service mysql restart

④.安全配置(对于生产环境比较重要)

mysql_secure_installation这里是引用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一路y搞定
其主要就是是否启动密码校验器,是否设置root密码,是否允许root远程连接,是否移除测试数据库,等等一系列功能

⑤.常见问题:如何关闭MySQL密码强度检测?

在/mysql_3306/my.cnf这个文件中加入最后一行内容
在这里插入图片描述
然后重启mysql即可

以上是关于MySQL概述(GLIBC方式安装)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL7安装-glibc方式安装

centOS安装mysql---glibc方式

mysql学习linux安装mysql,使用install脚本方式

linux下采用binary方式安装mysql步骤

基于通用二进制方式安装MySQL-5.7.24

centos8 安装mysql 8 基于tar方式