服务器大本营

 找回密码
 我要入营

QQ登录

只需一步,快速开始

查看: 15|回复: 0

Linux系统之MySQL数据库基础知识

[复制链接]

7万

敬重

843

主题

207

精华

管理员

积分
9147

启航之章进阶之印里程之碑突破之证飞跃之星蜕变之勋卓越之路龙年行大运

QQ
发表于 昨天 10:05 | 显示全部楼层 |阅读模式

我要入营,结交更多好友,开启更多功能,轻松玩转服务器大本营!

您需要 登录 才可以下载或查看,没有账号?我要入营

x
一、数据库相关环境的安装
在学习数据库之前,首先最重要的就是如何安装数据库,数据库的种类有很多,今天小编讲述的是其中的MySQL数据库,为了更好的去掌握MySQL,小编并没有使用到MySQL的相关软件,而是直接使用的Linux终端来进行MySQL的学习,它有助于我们更好的去记住相关指令。下面我将会详细的讲述如何安装数据库。

1、使用的Linux环境
小编目前使用的Linux版本是CentOS 7,虽然这个版本之后将不会再更新,但是对于我们学习Linux还是比较友好的。

2、卸载不要的环境
我们需要输入下面的指令来卸载掉我们不需要的环境。
  1. ps ajx |grep mariadb # 先检查是否有mariadb存在
  2. #如果出现一大段数据,那么就代表着此时已经存在了
  3. systemctl stop mariadb.service # 停⽌mariadb 服务
  4. #之后再输入第一条指令,就可以看到服务已经成功停止了
  5. #会出现一小段数据,不要慌,这是停止成功的标志,这里我就不做实际演示了。
复制代码

3、检查系统的安装包
输入下面的指令,查看此时安装包是否存在。
  1. grep mariadb
  2. grep mysql   
  3. #输入第二条指令,可能会出现下面的内容
  4. #mysql-community-common-5.7.41-1.el7.x86_64
  5. #mysql-community-server-5.7.41-1.el7.x86_64
  6. #mysql57-community-release-el7-11.noarch
  7. #mysql-community-client-5.7.41-1.el7.x86_64
  8. #mysql-community-libs-5.7.41-1.el7.x86_64
复制代码

4、卸载默认安装包
输入下面的指令
  1. sudo yum remove mariadb # 超级用户进行删除
复制代码

5、获取MySQL中的官方yum源
我们需要到官方网站去获取yum源,网址我放到后面了:Index of /232905,会看到如下的界面:

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


此时需要找到和我们Linux系统一个版本的MySQL,这里可能很多人看到蓝色字体是省略的,无法看到全称,要想看到全称教给大家一个技巧,此时我们可以鼠标右击空白处,选择查看页面源代码(或者快捷键:Ctrl + U)。

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


此时我们就可以看见完整的蓝字了,这个操作是查看页面的源代码(用HTML写的,我之后可能也会点亮这一棵技能树),为了各位和我的运行环境一致,这里推荐采用5.7这个版本,如下,大约是在166行开始:

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


这里我们需要安装和我们Linux系统环境一致的版本,可能不少人不知晓自己的Linux的版本是多少,这里我推荐各位输入下面的指令:
  1. cat /etc/redhat-release
复制代码

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


此时我们可以看出当前我们CentOS的版本是7.9,所以我们选择el7.9即可(代表CentOS的7.9版本),我们点击它以后,就会下载相关的rpm文件,此时这个文件是下到我们的Windows磁盘当中的,我们需要将这个文件放入到我们Linux系统中,这个时候我们仅需采用下面的指令(或者直接把压缩包拖到终端):
  1. rz;  #把Windows系统的相关文件等等放入到Linux中
复制代码

6、将获取的yum源进行解压
这个时候就可以就可以看到压缩包已经存在我们的/root路径下了,如下所示:

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


类似是上面的压缩包,因为小编早已经安装成功,所以当时的压缩包我没找到,上面的当做样例即可,我们需要把.rpm样子的压缩包进行解压操作,此时使用到下面的指令即可
  1. rpm -ivh 压缩包的名字
复制代码

压缩完之后,为了查看我们是否成功的安装,可以输入下面的指令
  1. ls /etc/yum.repos.d/ -l
复制代码

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


7、安装MySQL服务
这里我们需要输入下面的指令进行安装MySQL(根据上面yum源的配置):
  1. yum install -y mysql-community-server  #安装服务器和客户端,这个指令其实也帮助我们安装了相关的C接口,后续我会在提到的
复制代码

不过不少人在安装的时候可能会遇到下面的报错:
  1. Failing package is: mysql-community-client-5.7.39-1.el7.x86_64
  2. GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
复制代码

这个报错意思是秘钥过期了,遇到这种情况不要慌张,输入下面的指令,再重新安装一次即可。
  1. rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
复制代码

8、查看自己是否安装成功
此时进行完上面的安装操作以后,按理说我们已经安装成功了,但是为了万无一失,我们需要进行两个操作来查看MySQL是否安装成功了。

1)查看配置文件
输入下面的指令,如果和图片相符,那么代表第一个操作正确。
  1. ls /etc/my.cnf
复制代码

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


2)查看数据存储位置
输入下面的指令,和图中相符的话代表是正确的。
  1. ls /var/lib/mysql
复制代码

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识

上面的蓝色文件夹不用管,有MySQL这个目录即可。如果上面两个指令都执行成功的话,那么说明此时我们安装成功了。

9、启动mysqld服务器
此时我们输入下面的指令即可成功的启动服务器:
  1. systemctl start mysqld.service
复制代码

之后我们查看服务器是否启动了,输入下面的指令。
  1. ps axj |grep mysqld
复制代码

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


出现上图第一行内容,即可代表成功启动服务器了。

10、配置mysql配置文件
此时我们通过vim打开相关mysql配置文件,进行相关配置,输入下面的指令。
  1. vim /etc/my.cnf
复制代码

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识

此时上面就是我们mysql相关配置的文件,在文件的最后,加入下面的代码:
  1. skip-grant-tables  #代码没有密码就可以进行mysql的登录
  2. #模仿上面的图片
  3. port=3306
  4. datadir=/var/lib/mysql
  5. socket=/var/lib/mysql/mysql.sock
  6. symbolic-links=0
  7. log-error=/var/log/mysqld.log
  8. pid-file=/var/run/mysqld/mysqld.pid
  9. character-set-server=utf8
  10. default-storage-engine=innodb
  11. # 配置完毕,重启mysql即可
复制代码

11、尝试登录mysql
在进行上面的配置结束以后,此时我们可以输入下面的指令进行mysql的登录
  1. mysql -uroot -p  #最好使用root账户,后续我会讲述用户管理操作
复制代码

此时会弹出让我们输入密码的提示:


Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


直接enter即可,因为上面我们配置了可以无须密码登录,所以此时确定即可。

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识

上面就代表着我们成功的进入了mysql界面,接下来我们的学习就要从这个界面喽~

二、数据库是什么
通常,我们习惯于使用文件存储数据。然而,单纯依赖文件存储存在诸多弊端:
1)文件安全性脆弱,数据极易泄露或被非法篡改;
2)数据查询和管理效率低下;
3)不适合存储海量数据;
4)在实际编程中使用极不方便。

因此,我们需要一种更高效、更安全的数据存储方案——数据库。

数据库通常采用磁盘或内存存储,这种存储机制使其能够更高效、更灵活地管理和存储大规模数据。与传统文件存储相比,数据库在数据安全、检索速度和管理便捷性上都具有显著优势。所以,数据库其实就是一个存储大规模数据的‘文件夹’。

三、主流的数据库
数据库有很多的种类,这里小编就简单的分享几个比较常用的数据库

1、SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
2、Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。和MySQL大部分是很像的,只不过少部分函数不一样。
3、MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。真的很好用。
4、PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
5、SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
6、H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

四、表是什么
当我们首次登录数据库的时候,输入下面的指令,就可以看到MySQL有几个数据库。
  1. show databases;  #这条指令是查看MySQL中的数据库有几种,这里要提醒各位,数据库最后是需要;结尾的,这个点要注意。
复制代码
上面就是MySQL中的数据库,其实,MySQL中的数据库在Linux中,是以目录的形式存在的,也就是说当我们建立数据库的时候,其实就是在Linux下建立一个目录,此时我们在Linux中输入下面的指令,就可以看到上面的库。指令如下所示。
  1. ll /var/lib/mysql/
复制代码

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


此时我们就可以看到表在MySQL的样子,同样的,我们也可以通过进入到目录查看目录下的一个个文件,其在Linux中的表示如下所示。

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


这就是MySQL中的表,下面小编来讲一讲MySQL中,服务器、数据库以及表之间的关系。

五、服务器、数据库和表关系
所谓安装数据库服务器,只是在机器上安装了一个数据库管理游戏程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。就比如学校的教务系统,就对应着一个存储学生数据的数据库。

为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。就比如一个公司的数据库,可能里面会有各大分公司表、雇员表以及奖金表。

它们三者的关系,如下所示:

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


当然,我们进行建立数据库,创建表等等的操作,这些工作其实都是mysqld来帮助我们完成的,它是MySQL的服务器,而mysql数据MySQL的客户端,这一点各位要记住。

六、快速上手数据库
为了让各位更好的知晓数据库应该如何进行操作,下面我简单的给各位分享下相关的指令,各位目前无须记住,这些我都会在后来详细的讲述的。所以下面的操作,我就不解释了,仅仅想让各位看看数据库怎么使用。

1、创建一个数据库
  1. create database boke_1;
复制代码

2、看一眼是否创建成功
  1. show databases;
复制代码

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


3、进入数据库
  1. use boke_1;
复制代码

4、查看有几张表
  1. show tables;  #此时没插入内容,所以为空
复制代码

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


5、创建一个表
  1. create table t1(
  2.     name varchar(20) not null,
  3.     tel varchar(20)
  4. );
复制代码

6、插入两组数据
  1. insert into t1 values('小王','121212323'),('小李','1121212');
复制代码

7、查看表内容
  1. select* from t1;
复制代码
以上就是MySQL相关的简单操作,这些以后我都会教给各位的,各位目前光看一下就好。

七、MySQL架构
MySQL是一个可移植的数据库,几乎可以在当前所有的操作系统运行,如UNIX/Linux,Windows、MAC。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。下面可以看下相关的架构图。

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


八、SQL分类
一般来说,SQL是分为下面这三类的。
1、DDL【data definition language】数据定义语言,用来维护存储数据的结构。就比如:create,drop,alter【之后都会讲述】。

2、DML【data manipulation language】数据操纵语言,用来对数据进行操作。例如:insert,delete,update。

3、DCL【【Data Control Language】数据控制语言,主要负责管理和事务。例如:grant,revoke,commit。

九、存储引擎
1、存储引擎是什么
存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL的核心就是插件式存储引擎,支持多种引擎存储。

2、在哪里

可能很多朋友会很好奇,我们如何查看MySQL中的存储引擎呢?通过一条指令就可以查到。
  1. show engines;
复制代码
这些我们稍作了解就好,小编所写的文章涉及到的存储引擎一般就是第一行那个,这点各位记住就好。

3、存储引擎对比

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识


感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识

Linux系统之MySQL数据库基础知识
一入IDC深似海,从此你我是良人!
您需要登录后才可以回帖 登录 | 我要入营

本版积分规则

点击直接加入[服务器大本营QQ频道]
滴!摸鱼时间到~
Loading...

QQ|Archiver|手机版|网站地图|服务器大本营 ( 赣ICP备2021009089号 )

GMT+8, 2025-8-2 09:44 , Processed in 0.067576 second(s), 29 queries , Gzip On.

Powered by 服务器大本营

© 2021-2023 联系飞飞

快速回复 返回顶部 返回列表